You can quickly search and open any file you have previously interacted with using sioyek.
Overview
Get a quick overview of links, references and citations (works even when the document doesn't provide links).
Table of Contents
You can search and jump to table of contents entries.
Smart Jump
You can jump to any referenced figure or bibliography item even if the PDF file doesn't provide links. You can also
search the names of bibliography items in google scholar/libgen by middle clicking/shif+middle clicking on their name.
Mark
Sometimes when reading a document you need to go back a few pages (perhaps to view a definition or something) and
quickly jump back to where you were. You can achieve this by using marks. Marks are named locations within a PDF file
(each mark has a single character name for example 'a' or 'm') which you can quickly jump to using their name. In the
aforementioned example, before going back to the definition you mark your location and later jump back to the mark by
invoking its name. Lower case marks are local to the document and upper case marks are global (this should be very
familiar to you if you have used vim).
Bookmarks
Bookmarks are similar to marks except they are named by a text string and they are all global.
Highlights
Highlight text, you can search among the highlights.
Portals (this feature is most useful for users with multiple monitors)
Suppose you are reading a paragraph which references a figure which is not very close to the current location. Jumping
back and forth between the current paragraph and the figure can be very annoying. Using portals, you can link the
paragraph's location to the figure's location. Sioyek shows the closest portal destination in a separate window (which
is usually placed on a second monitor). This window is automatically updated to show the closest portal destination as
the user navigates the document.
Configuration
You can customize all key bindings and some UI elements by editing keys_user.conf and prefs_user.conf. The default
configurations are in keys.conf and prefs.conf.
Guide
Note that the keys in this guide are the default keybinding that can be edited by chaning
keys_user.config file (use keys.config as a reference). In fact I highly recommend customizing the keybindings because honestly the
default keybindings are not very good.
Basics
Press o to open a new document or shift+o (O) to open a previously opened document.
Use the arrow keys for navigation.
Use ctrl+PageDown/ctrl+PageUp to go to the previous/next page.
Press space/shift+space to go to the next/previous screen (which is equivalent to scrolling down half of screen width). You can also use PageDown and PageUp.
Press - to zoom out and shift+= (which is +) to zoom in.
Press f11 to enter fullscreen mode.
Press f10 to fit the document to screen ignoring white page margins.
Press f9 to fit the document to screen (including white margins).
Enter gg to go to the first page.
In order to go to a specific page, enter [NUM]gg where [NUM] is the page number. For example in order to go to page 31, enter 31gg. You can also press Home to go to a specific page.
Press shift+g (G) to go to the last page.
Press t to open table of contents (if it exists).
Use backspace to go back in history. You can also use ctrl+left arrow and
ctrl+right arrow to navigate backward/forward in history. Also extra mouse buttons can be used to navigate history.
With some text selected, press ss to search the text in google scholar and sl to search it in library genesis.
Searching
Press / or ctrl+f to search.
Press n/shift+n to go to the next/previous match.
In order to quickly jump in search results, you can use [NUM]+n where [NUM] is a number.
For example in order to jump to the 10th next occurance of current search term, enter 10n. In fact most
commands in sioyek can be prefixed with a number N which is equivalent to repeating them N times.
Marks
Press m to set a mark in current location. After you press m, sioyek waits for you to press another
symbol which is the name of the mark. For example to create a mark named u, enter mu.
In order to go to a mark, press ` followed by the name of the mark. For example in order to go to the
mark in previous example, we enter `u. Note that ` is different from the single quote character which is '. ` is usually located in the top-left of the keyboard near the escape button.
Note that marks are persistent (they are saved even after sioyek is closed). Lower case marks are local to each file but upper case marks are global.
Bookmarks
Press b to create a bookmark in the current location.
Press gb to search the bookmarks in the current file and g shift+b (that is g followed by capital B) to search all the bookmarks
In order to delete a bookmark, first goto the bookmark and then enter db (delete the closest bookmark).
Highlights
Select a piece of text and then press h followed by a lower case letter to highlight the selected text (the letter can be though of as the "type" of the highlight). For example you can press hh to create a highlight of type "h". (different types of highlight are colored differently, the color is configurable in prefs.config file)
Press gh to search the highlights in the current file and gH (that is g followed by capital H) to search all the highlights.
In order to delete a highlight, you can click on a highlight and then press dh.
Smart Jump
You can middle click on the name of figures (for example on `4.13' in `Figure 4.13') to jump to the location where
figure is located (this works even if the document is not linked). You can also click on cited references (for example
on `12' in `[12]' or on `HL03' in `[BR01, HL03, DJN88]' to go to the reference.
You can middle click on the name of the papers to search them in google scholar or shift+middle click
to search them in library genesis.
Portals
Press f12 to open the helper window. This window automatically displays the closest portal to the current location.
In order to create a portal, press p to enter the current location as the source of the portal. Now you
navigate to the portal destination and press p again to mark that location as the destination of the
portal. (note that source and destination don't have to be in the same document, for example you can create a portal from a reference to a paper to the actual paper).
You can also create a portal by pressing p and then clicking (or middle clicking using smart jumps) on
a link. This automatically creates a link between the current location and the destination of the link.
In order to delete a portal, press dp. This deletes the closest portal to the current location (the
portal that is being displayed in the helper window).
Sometimes you need to slightly edit a portal (especially when creating a portal using links, because sometimes for
example a link to a figure doesn't center the figure properly in the screen). In order to do this, press
shift+p(P) while the portal is active. This takes you to the portal's destination. Now you can
adjust the destination and once you are done press the back button (by default it is backspace) to go back
to where you were.
Configuration
There are four configuration files, two of which are not meant to be edited by the user (keys.config and
prefs.config) and two of which are user-editable (keys_user.config and
prefs_user.config).
In order to edit any configuration, copy the config to the user editable config file and change it there. For
example suppose we want to change the key that opens the table of contents. We search for `table of contents' in
keys.config and find the following:
# Open table of contents.
goto_toc t
We copy this line to keys_user.config and change the key. For example in suppose we want to use capital T
to open the table of contents. We can put the following line in keys_user.config:
goto_toc <S-t>
Donation
If you enjoy sioyek, please consider donating to support its development.