4 Q
- quit without saving the configuration
or changes
8 up
/down arrow
- scroll up
/down
10 left
/right arrow
- pan left
/right
(when zoomed
in)
11 Ctrl
-arrows
- half a screen width
/height scoll
/pan
12 space
- go
to the next page
13 delete
- go
to the previous page
14 pageup
/pagedown
- go forward
/backward one screen
-full
15 g
, G
- go
to first
/last page
16 home
/end - go
to first
/last page
18 -----Advanced Movement
/ History
-----
19 backspace
- go back after jumping
(clicking link
and suchlike
)[1]
20 Alt
-left
/right arrow
- go backward
/forward
in history
21 0..9 - enter page number
to jump
to
22 t
- align top
of the screen
with the top
of the page
24 Ctrl
-pageup
/pagedown
- align top
of the screen
with first
/last visible page
26 if auto scrolling is active
:
27 up
/down arrows
and mouse buttons
3/4 will make scrolling go faster
/slower
30 primary mouse button
- click on link
or select text
[2]
31 when Shift is held
- run
"synctex command" with coordinates
of the point
[3]
32 when Ctrl is held
- pan
33 zoom
to block
- when in block zoom mode
34 otherwise
- pan
if there's no text
/link under the cursor
35 mouse buttons
3/4 - scroll up
/down
(aka mouse wheel
)
36 when Ctrl is held
- zoom
37 mouse buttons
5/6 - pan left
/right
(aka horizontal mouse wheel
)
38 secondary mouse button
- select rectangle
to zoom
to
39 when Shift is held
- add text annotation
42 moving mouse
while holding primary mouse button will pan the page
,
43 if the mouse is over selectable element
(text
/link
) holding Ctrl
44 will make the page pan instead
of the default action
(selecting text
/
48 m
- create named bookmark
49 ~
- create quick bookmark
52 Ctrl
+Shift up
/down
- set previous zoom level
53 B
- toggle zoom block mode
54 w
- change height
of the window
to encompass all
of the page
56 Ctrl
-+/Ctrl
-= - zoom
in
58 Ctrl
-0 - reset zoom
and panning
59 Ctrl
-1 - fit tallest page
60 Ctrl
-2 - fit tallest page height exactly
61 Ctrl
-3 - cycle fit models
63 Ctrl
-9/F9
- enter bird's eye view
67 r
- reload document
[4]
68 y
- select link
and paste its description
to the clipboard
69 | - pipe selection through specified command
70 x
- run pax command on selected region
71 Ctrl
-p
- launch a command
with the document path
as an argument
72 return
- (in link navigation mode
) follow link
73 = - show current position
77 /,?
- enter text
to search
for (/ - forward
, ?
- backward
)
78 n
- repeat last search
(forward
)
79 p
, N
- repeat last search
(backward
)
80 z
[zbt
] - "zoom in" on the first search result
81 Ctrl
-g
- interrupt search
83 -----Settings
/ Modes
-----
84 [,] - decrease
/increase page brightness
86 - - toggle
/set tunable
88 l
- toggle highlighting
of the links
90 insert
- toggle link navigation mode
91 o
- switch
to outline
/table
of contents mode
92 '
- switch
to bookmark mode
93 H
- switch
to history mode
94 h
,F1
- switch
to help mode
95 i
- switch
to info mode
96 P
- switch
to "presentation" mode
97 c
- switch
to previous column layout
100 (auto scroll step is interepreted
as a delay
(in seconds
) between transitions
)
103 -i
- toggle case sensitivity
of searches
104 -s
<number
> - set scroll step
(pixels
)
105 -S
<number
> - set space between pages
(pixels
)
107 -v
- toggle verbosity
108 -Z
<number
> - set zoom
(percent
)
109 -T
- toggle trimming
of margins
112 -C
<number
> - set column count
113 -x
<string> - set command
to run on selection
114 -f
- toggle
"what's under cursor" identification
115 - (or "what's currently selected" in link navigation mode
)
116 - (font name
of the text under cursor
or link target
)
118 -----Bird's eye mode
-----
119 Ctrl
-9,F9
,esc
- leave bird's eye view
120 Ctrl
-l
- center the view on the currently selected page
121 (page
)up
/(page
)down
- navigate
122 home
/end - go
to first
/last page
123 enter
- select the page
and leave bird's eye mode
124 primary mouse button
- select the page under cursor
and leave bird's eye mode
126 -----Outline
/bookmark
/help
/info
/history mode
-----
127 esc
- leave outline
/bookmark mode
128 up
/down
- select previous
/next item
129 alpha
-numeric
- quick search
130 Ctrl
-s
- repeat search
(forward
)
131 Ctrl
-r
- repeat search
(backward
)
132 Ctrl
-l
- center on current item
133 Ctrl
-left
/right
- pan text left
/right
134 Ctrl
-up
/down
- scroll view up
/down
135 Ctrl
-insert
- copy active item's text
to clipboard
137 -----Outline
/history mode
-----
138 left
/right
- go up
/down a level
139 Ctrl
-a
- toggle auto narrowing
140 / - enter auto narrowing
141 tab
- begin nested narrowing
142 Ctrl
-n
- narrow
to search pattern
143 Ctrl
-u
- undo narrowing
147 enter
- toggle
/enter
new value for selected parameter
149 -----When entering search pattern
/page number
-----
150 up
/down arrow
- previous
/next entered text
154 double
/triple
/quadruple
/quintuple clicks
in view mode will pipe the
155 word/line
/block
/page through pax command
when Ctrl is held
and
156 selection command otherwise
158 [1] if the document was previously visited initial backspace will
159 jump
to the last visited place
161 [2] by default X11 version uses xclip
to handle text copy
/paste
162 https
://github
.com
/astrand
/xclip
164 [3] arguments
to the command are
:
165 1 = path
to the document
166 2 = zero based page number
167 3 = X coordinate within the page
170 [4] document will also be reloaded upon reception
of the HUP signal
172 -----Caveat emptor
-----
173 o Text selection is limited
to a single page
174 o Text searching is very naive
|};;
178 let gotourl launcher url
=
179 let command = Str.global_replace
Utils.Re.percent url launcher
in
180 try ignore
@@ spawn
command []
181 with exn
-> dolog
"failed to execute `%s': %s" command @@ exntos exn
184 let gotouri launcher uri
=
188 if nonemptystr
@@ geturl uri
189 then gotourl launcher uri
190 else dolog
"obtained empty url from uri %S" uri
194 Printf.sprintf
"llpp %s, fitz %s, ocaml %s/%d bit"
195 (Ffi.llpp_version
()) (Ffi.fz_version
()) Sys.ocaml_version
Sys.word_size
198 let fixup = let open Str
in let gr = global_replace
in
199 let dash = regexp
{|\
([^
]*\
) +- +\
(.*\
)|}
200 and head
= regexp
{|-----\
(.*\
)-----|} in
201 fun s
-> gr dash "\\1\t\\2" @@ gr head
"\xc2\xb7\\1" s
204 let makehelp launcher
=
206 :: "(searching in this text works just by typing (i.e. no initial '/'))"
207 :: E.s
:: String.split_on_char '
\n'
keys |>
211 | "" -> (s, 0, Config.Noaction
)
212 | url
-> (s, 0, Config.Action
(fun uioh
-> gotourl launcher url
; uioh
))