# you can edit this file to change keybindings lines that start with '#' are comments # the syntax is pretty simple. Some examples: #command k (command is executed when k is pressed) #command (command is executed when k is pressed while holding control) #command K (command is executed when K is entered, which is shift+k) #command (command is executed when k is pressed while holding alt) #command + (command is executed when = is pressed while holding shift) #command (command is executed when k is pressed while holding control and shift) #command gg (command is executed when g is pressed twice) #command gt (command is executed when g is pressed and then t is pressed) #command gDt (command is executed when g is pressed and then n is pressed while holding\ # control and then d is pressed while holding shift and then t is pressed) # you can execute multiple commands using the following syntax: #command1;command2;command3 # for more information see the documentation at https://sioyek-documentation.readthedocs.io/ # ---------- NAVIGATION AND ZOOM ---------- # Goto the beginning of document. goto_beginning gk # Goto the end of the document goto_end gl # Opens a prompt to enter page number and jump to that page goto_page_with_page_number gg ## Goto left/right/bottom/top side of the page goto_left goto_right goto_top_of_page goto_bottom_of_page # Goto left/right side of the page ignoring white margins goto_left_smart ^ goto_right_smart $ # Goto the top-right side of page. Useful for two column documents #goto_top_of_page;goto_right_smart zz # Movement (can be prefixed with a number) move_down j move_up k move_left l move_right h # Goto forward for one page width. (can be prefixed with a number) # (note that going forward for one page width is not usually what you want because if # the page is larger than the screen you will miss some content. What you usually want is screen_down) next_page J previous_page K # Go down one screen width (can be prefixed with a number which tells how many screen widths should we go down) screen_down screen_up > screen_down screen_up # Goto the next/prev chapter next_chapter cj prev_chapter ck # Goto previous viewing state and delete the current (and future) state(s). # pop_state w # Goto the previous history point prev_state prev_state > # Create a new sioyek window new_window # Close the current sioyek window #close_window ## Search and switch between sioyek windows goto_window gw # If we are not at the end of viewing history, goto the next history point next_state > next_state > # Open table of contents. goto_toc # Zoom #zoom_in + fit_to_page_width = #zoom_out - ## Zoom in/out on the mouse cursor (instead of center of screen) zoom_in_cursor + zoom_out_cursor - # Rotate document rotate_clockwise r rotate_counterclockwise R # Automatically set the zoom level and horizontal offset such that the current page is centered horizontally and # it fills the screen width fit_to_page_width a # Same as fit_to_page_with but ignores page margins fit_to_page_width_smart A ## Similar to fit_to_page_width, but for height fit_to_page_height s ## Similar to fit_to_page_width_smart but for height fit_to_page_height_smart S ## Same as fit_to_page_width_smart, but instead of filling the screen width, it fills the ratio of screen that is ## configured in `prefs_user.config` using `fit_to_page_width_ratio` config. See https://github.com/ahrm/sioyek/issues/162#issuecomment-1059738730. #fit_to_page_width_ratio f # Open a file dialog to select a document. open_document o # Open an embedded file dialog in sioyek open_document_embedded # Open an embedded file dialog in sioyek rooted in the directory of current opened file open_document_embedded_from_current_path # Open a searchable list of previously opened documents. open_prev_doc O ## Opens the last document opened is sioyek. It is useful when you want to quickly toggle between two documents #open_last_document ## Keyboard shortcut to enter visual mark mode (instead of right clicking) enter_visual_mark_mode # Command the move the visual mark to the next/previous line # these keys only work when a visual mark is set (by right clicking or using `visual_mark_under_cursor` command) move_visual_mark_up k move_visual_mark_down j ## lock horizontal scroll, useful when using laptop touchpads # toggle_horizontal_scroll_lock # ---------- SEARCH ---------- # Search the document. # example: /something (searches the document for 'something') # you can also specify a page range to search: # example: /<110,135>something (searches pages 110 to 135 (inclusive) for 'something') search / # Searches the current chapter. This is essentially the same as search but the range prefix is autofilled # with the range of the current lowest level subchapter. chapter_search c/ # Goto the next search item. Can be prefixed with a number which is the same as performing the command n times # for example if we are on the 10th search result and we input 15n, we go to the 25th search result. next_item n # Goto the previous search result. Can be prefixed with a number with similar rules as next_item. previous_item N # ---------- BOOKMARKS ---------- # Add a bookmark in the current location (opens a text input where you can specify the bookmark text) add_bookmark b delete_bookmark db # Open bookmarks menu of the current document. goto_bookmark gb # Open bookmarks menu of all documents. goto_bookmark_g gB # ---------- HIGHLIGHTS ---------- # You can select a piece of text and press the `add_highlight` shortcut followed by a symbol (a character from a-z) to highlight # the text add_highlight h # Goto highlights of current document goto_highlight gh # Goto highlights of all documents goto_highlight_g gH # Left click on a highlight and then press the `delete_highlight` shortcut to delete it. delete_highlight dh # Sets the highlight type to be used for other operations (the default highlight type is 'a') #set_select_highlight_type ## Same as `add_highlight` but uses the current selected highlight type as the type of highlight #add_highlight_with_current_type ## Toggle select highlight mode. In select highlight mode, all text selected using mouse will automatically be highlighted ## with highlight type set using `set_select_highlight_type` #toggle_select_highlight # Goto next/previous highlight in current document goto_next_highlight gnh goto_prev_highlight gNh ## Goto next/previous highlight of the current selected highlight type #goto_next_highlight_of_type #goto_prev_highlight_of_type # ---------- MARKS ---------- # Mark the current location. After pressing the mark button, you must enter a symbol (a letter from a-z or A-Z). # this marks the current location in the file with the entered symbol. Afterwards you will be able to return to # the locations of the marks using goto_mark command. # example: mm (marks the current location in the file with a mark named 'm') set_mark m # Goto a previously set mark. After pressing goto_mark you must enter a symbol associated with a previously set mark. # example: `m (goes to the location of the mark named m) goto_mark ` # ---------- PORTALS ---------- # If we are in default state, goto portal state with the current location in document as the portal source # if we are already in the portal state, create the portal with the current location as destination. portal p # Delete the portal with the closest source to current location delete_portal dp # Goto the position of the portal with the closest source to current location goto_portal gp # Similar to goto_portal, except when prev_state is called, the destination of the portal is update to be the state # on which prev_state is called edit_portal P edit_portal > # Open/Close the helper window for portals toggle_window_configuration ## open/close helper window #toggle_one_window # ---------- MISC ---------- # Copy selected text copy toggle_fullscreen # Toggles whether we highlight pdf links or not toggle_highlight # open command line command : # Search the selected text using one of the search engines defined using search_url_* settings in prefs.config (* can be any letter between 'a' and 'z') # see https://sioyek-documentation.readthedocs.io/en/latest/usage.html#external-search external_search ? # opens the selected text as a url in the default browser # open_selected_url Q # Toggle dark mode (inverted colors) #toggle_dark_mode ## Toggle custom color mode. You can specify the text background color in your `prefs_user.config` file ## see https://sioyek-documentation.readthedocs.io/en/latest/configuration.html#custom-background-color-and-custom-text-color toggle_custom_color # Toggle synctex mode. When in synctex mode, right clicking on a pdf launches the corresponding latex page. toggle_synctex ## Perform a synctex search under the mouse cursor #synctex_under_cursor # While in mouse drag mode, instead of selecting text you can pan the screen using mouse toggle_mouse_drag_mode # In visual scroll mode, mouse wheel performs `move_visual_mark_up` and `move_visual_mark_down` commands toggle_visual_scroll # In visual scroll mode, create an overview to/go to/portal to the definition in highlighted line #overview_definition l goto_definition portal_to_definition ] # In presentation mode, we fit the pages to screen and movement keys move entire pages toggle_presentation_mode ## Quit sioyek #quit q # Open PDF links using keyboard open_link f # Select text using keyboard keyboard_select v # Smart jump using keyboard keyboard_smart_jump F ## Open overview window using keyboard #keyboard_overview ## If the preview is not correct, jump to the next preview #next_preview ## If the preview is not correct, jump to the previous preview #previous_preview ## Jump to the location of the current overview #goto_overview ## Create a portal to the location of the current overview #portal_to_overview ## Center the window on selected text #goto_selected_text ## Focus the visual mark on the text matching the given string (useful when extensions want to focus on a text) #focus_text ## Smart jump to the location under mouse cursor #smart_jump_under_cursor ## Open overview window to the location under mouse cursor #overview_under_cursor ## Set a visual mark under mouse cursor #visual_mark_under_cursor ## Close the overview window #close_overview ## Exit visual mark mode #close_visual_mark ## Import sioyek data from an exported file #import ## Export sioyek data into a json file #export ## Execute shell commands. For example: ## sioyek --new-instance %1 ## in the command %1 expands to the path of the current file and %2 expand to the file name of the current file #execute ## (deprecated see bottom of the page) Execute a predefined command. these commands are defined in `prefs_user.config` file using the following syntax: ## --------prefs_user.config----------- ## execute_command_a some_command %1 %2 ## execute_command_x another_command %2 ## ------------------------------------ ## now in order to execute the second command you can first execute `execute_predefined_command` and then press 'x' #execute_predefined_command ## Embed the annotations (highlights and bookmarks) into a new PDF file so they are visible to other PDF readers #embed_annotations ## Copy the current window configuration to clipboard so they can be used in `prefs_user.config` #copy_window_size_config ## Opens the default preference file #prefs ## Opens the user preference file with highest priority #prefs_user ## Opens a list of all user preference files #prefs_user_all ## Opens the default kwys file #keys ## Opens the user keys file with highest priority #keys_user ## Opens a list of all user keys files #keys_user_all ## Enter password for password protected documents #enter_password ## Toggle fastread mode. this is an experiental feature #toggle_fastread ## Toggle statusbar display #toggle_statusbar ## Reload sioyek window #reload ## Set the status string to be displayed in sioyek's statusbar (it is useful for extensions) #set_status_string ## Clears the status string set by `set_status_string` #clear_status_string ## Toggles the window titlebar #toggle_titlebar ## You can bind custom commands defined in `prefs_user.config` using the same syntax as the built-in commands ## --------prefs_user.config----------- ## new_command _my_command_name python /path/to/script.py %{file_name} %{paper_name} ## ------------------------------------ ## now you can bind _my_command_name to a keybind here: #_my_command_name