Pdf. Просмотр. Zathura

Zathura — программа просмотра pdf-файлов.

Содержание

1 Общая информация

1.1 Особенности

  • Keyboard Driven, сочетания клавиш очень похожи на Vim.
  • Минималистичный дизайн.
  • Автоматически перезагружать файл при обнаружении изменений.
    • В отличие, например, от Evince Zathura отслеживает имя файла, а не inode.
    • Поэтому, при переименовании файла Zathura его теряет.

1.2 Режимы

  • Просмотр документов (основной режим)
  • Оглавлениу (tab)
  • Презентация (F5)
  • Полноэкранный режим (F11)

1.3 Поддерживаемые форматы документов

  • Поддерживает различные форматы с помощью плагинов:
Таблица 1: Поддерживаемые форматы документов
ФорматПлагинБиблиотека для рендеринга
PDFzathura-pdf-popplerpoppler
PDFzathura-pdf-mupdfmupdf
DjVuzathura-djvudjvulibre
PostScriptzathura-pslibspectre
Comic Book Archivezathura-cblibarchive
epubzathura-pdf-mupdfmupdf
  • Не поддерживается работа с pdf-формами.
  • Не поддерживается работа с аннотированием pdf.

2 Комбинации клавиш

2.1 Стандартные комбинации

Таблица 2: Комбинация клавиш Zathura в основном режиме
Комбинации клавишЗначение комбинаций
J, Kперейти на следующую, предыдущую страницу
h, k, j, lпрокрутка влево, вверх, вниз, вправо
, , , →прокрутка влево, вверх, вниз, вправо
Ctrl+t, Ctrl+y,прокрутка влево, вправо на полстраницы
Ctrl+u, Ctrl+dпрокрутка вверх, вниз на полстраницы
Ctrl+f, Ctrl+bпрокрутка вверх, вниз на страницу
gg, G, nG, nggв начало, в конец, на n-ую страницу документа
a, sвместить страницу по высоте, по ширине
dпросмотр разворота
/, ?поиск по тексту
Shift+/обратный поиск по тексту
n, Nперейти к следующему, предыдущему результату поиска
o, Oоткрыть документ
fперейти по ссылке
Fпоказать адрес ссылки
r, nrповорот по часовой стрелке, поворот n раз
Ctrl+rинвертировать цвета (в ЧБ)
Rперезагрузить документ
+, -, =увеличить, уменьшить, оригинальный размер
qвыход
Таблица 3: Комбинация клавиш Zathura в режиме оглавления
Комбинации клавишЗначение комбинаций
lРазвернуть пункт
LРазвернуть все
hСвернуть
HСвернуть все
k, jПеремещение на пункт выше, ниже
Space, EnterВыбрать и открыть пункт
Таблица 4: Переключение режимов
Комбинации клавишЗначение комбинаций
F11Полноэкранный режим
:Режим ввода команд
F5Режим презентации
TabПереключение в режим оглавления и обратно
EscОбычный режим
Таблица 5: Команды (вводимые после :)
КомандаОписание
bmarkСохранить закладку
bdeleteУдалить закладку
blistСписок закладок
closeЗакрыть документ
execВыполнить внешнюю команду
infoПоказать информацию о документе
helpПоказать справочную страницу
open, oОткрыть документ
offsetНастройка смещения страницы
printПечать документа
write, write!Сохранить документ, принудительная перезапись
exportЭкспорт приложений (Export attachments)

2.2 Модификаторы комбинаций

  • Везде, где это имеет смысл, перед командой можно ставить число для повторения команды соответствующее число раз, например:
  • 10 J : перейти на 10 страниц вперёд;
  • 3 r : повернуть 3 раза по часовой стрелке (что эквивалентно одному разу против часовой).

2.3 Emacs-подобная конфигурация

  • https://web.archive.org/web/20220815064614/https://gist.github.com/ne9z/8778d614b90b85dfe8f6b698ad758f36
  • Конфигурационный файл:
      1# Being an Emacs user, it is natural for me to use emacs-like and info-like keybindings for zathura.
      2#
      3# Zathura configuration documentation is available at
      4# https://git.pwmt.org/pwmt/zathura/-/blob/e5d2ca487147e79d0bb7acbf5174cd9dcc92a86c/doc/man/zathurarc.5.rst
      5# A full list of available functions and default keybindings is available at
      6# https://git.pwmt.org/pwmt/zathura/-/blob/e5d2ca487147e79d0bb7acbf5174cd9dcc92a86c/zathura/config.c#L301
      7#
      8# If you want to integrate Zathura with Emacs AUCTeX mode, see
      9# [emacs wiki](https://www.emacswiki.org/emacs/AUCTeX).
     10#
     11# Put the following inside `$XDG_CONFIG_HOME/zathura/zathurarc
     12
     13## niceties
     14# when selecting text with mouse,
     15# copy to clipboard
     16set selection-clipboard clipboard
     17
     18# keep several lines of text when
     19# scrolling a screenful
     20set scroll-full-overlap 0.2
     21
     22# see documentation for details
     23set scroll-page-aware true
     24set window-title-basename true
     25set adjust-open width
     26set statusbar-home-tilde true
     27set vertical-center true
     28set synctex true
     29# large bold font easier on the eyes in index mode
     30# status bar can be disabled with A-s
     31set font "FreeSans bold 16"
     32set zoom-step 3
     33
     34map [normal] <C-b> scroll left
     35map [normal] <C-n> scroll down
     36map [normal] <C-p> scroll up
     37map [normal] <C-f> scroll right
     38map [normal] <C-g> abort
     39map [insert] <C-g> abort
     40map [normal] <C-[> abort
     41map [normal] <A-\<> goto top
     42map [normal] <A-\>> goto bottom
     43map [normal] a adjust_window best-fit
     44map [normal] s adjust_window width
     45map [normal] F display_link
     46map [normal] <C-c> copy_link
     47map [normal] f follow
     48map [normal] m mark_add
     49map [normal] \' mark_evaluate
     50map [normal] \, navigate next
     51map [normal] \. navigate previous
     52map [normal] <A-Right> navigate next
     53map [normal] <A-Left> navigate previous
     54map [normal] <PageDown> scroll full-down
     55map [normal] <PageUp> scroll full-up
     56map [normal] <C-P> print
     57map [normal] c recolor
     58map [normal] R reload
     59map [normal] v rotate rotate_cw
     60map [normal] V rotate rotate_ccw
     61map [normal] <Left> scroll left
     62map [normal] <Up> scroll up
     63map [normal] <Down> scroll down
     64map [normal] <Right> scroll right
     65map [normal] <A-a> scroll half-left
     66map [normal] <C-V> scroll half-down
     67map [normal] <A-V> scroll half-up
     68map [normal] <A-e> scroll half-right
     69map [normal] <C-a> scroll full-left
     70map [normal] <C-v> scroll full-down
     71map [normal] <Return> scroll full-down
     72map [normal] <A-v> scroll full-up
     73map [normal] <C-e> scroll full-right
     74map [normal] <Space> scroll full-down
     75map [normal] <C-h> scroll full-up
     76map [normal] <BackSpace> scroll full-up
     77map [normal] <S-Space> scroll full-up
     78map [normal] l jumplist backward
     79map [normal] r jumplist forward
     80map [normal] <A-r> bisect forward
     81map [normal] <A-l> bisect backward
     82# still need to use '/' to trigger search
     83map [normal] <C-s> search forward
     84map [normal] <C-r> search backward
     85map [normal] p snap_to_page
     86map [normal] <C-i> toggle_index
     87map [normal] i toggle_index
     88map [normal] <Tab> toggle_index
     89map [normal] <A-s> toggle_statusbar
     90map [normal] <A-i> focus_inputbar
     91map [normal] d toggle_page_mode
     92map [normal] q quit
     93map [normal] + zoom in
     94map [normal] - zoom out
     95map [normal] = zoom in
     96map [normal] <A-P> toggle_presentation
     97map [normal] <A-F> toggle_fullscreen
     98map [normal] j toggle_fullscreen
     99map [fullscreen] j toggle_fullscreen
    100map [fullscreen] q toggle_fullscreen
    101map [fullscreen] <C-b> scroll left
    102map [fullscreen] <C-n> scroll down
    103map [fullscreen] <C-p> scroll up
    104map [fullscreen] <C-f> scroll right
    105map [fullscreen] <C-g> abort
    106map [fullscreen] <C-[> abort
    107map [fullscreen] <A-\<> goto top
    108map [fullscreen] <A-\>> goto bottom
    109map [fullscreen] a adjust_window best-fit
    110map [fullscreen] s adjust_window width
    111map [fullscreen] F display_link
    112map [fullscreen] <C-c> copy_link
    113map [fullscreen] f follow
    114map [fullscreen] m mark_add
    115map [fullscreen] \' mark_evaluate
    116map [fullscreen] \, navigate next
    117map [fullscreen] \. navigate previous
    118map [fullscreen] <A-Right> navigate next
    119map [fullscreen] <A-Left> navigate previous
    120map [fullscreen] <PageDown> scroll full-down
    121map [fullscreen] <PageUp> scroll full-up
    122map [fullscreen] <C-P> print
    123map [fullscreen] c recolor
    124map [fullscreen] R reload
    125map [fullscreen] v rotate rotate_cw
    126map [fullscreen] V rotate rotate_ccw
    127map [fullscreen] <Left> scroll left
    128map [fullscreen] <Up> scroll up
    129map [fullscreen] <Down> scroll down
    130map [fullscreen] <Right> scroll right
    131map [fullscreen] <A-a> scroll half-left
    132map [fullscreen] <C-V> scroll half-down
    133map [fullscreen] <A-V> scroll half-up
    134map [fullscreen] <A-e> scroll half-right
    135map [fullscreen] <C-a> scroll full-left
    136map [fullscreen] <C-v> scroll full-down
    137map [fullscreen] <Return> scroll full-down
    138map [fullscreen] <A-v> scroll full-up
    139map [fullscreen] <C-e> scroll full-right
    140map [fullscreen] <Space> scroll full-down
    141map [fullscreen] <C-h> scroll full-up
    142map [fullscreen] <BackSpace> scroll full-up
    143map [fullscreen] <S-Space> scroll full-up
    144map [fullscreen] l jumplist backward
    145map [fullscreen] r jumplist forward
    146map [fullscreen] <A-r> bisect forward
    147map [fullscreen] <A-l> bisect backward
    148map [fullscreen] <C-s> search forward
    149map [fullscreen] <C-r> search backward
    150map [fullscreen] p snap_to_page
    151map [fullscreen] i toggle_index
    152map [fullscreen] <C-i> toggle_index
    153map [fullscreen] <Tab> toggle_index
    154map [fullscreen] <A-s> toggle_statusbar
    155map [fullscreen] <A-i> focus_inputbar
    156map [fullscreen] d toggle_page_mode
    157map [fullscreen] + zoom in
    158map [fullscreen] - zoom out
    159map [fullscreen] = zoom in
    160# status bar will obscure last item in index mode
    161map [index] <A-s> toggle_statusbar
    162map [index] q toggle_index
    163map [index] i toggle_index
    164map [index] <C-p> navigate_index up
    165map [index] <C-h> navigate_index up
    166map [index] <BackSpace> navigate_index up
    167map [index] <C-n> navigate_index down
    168map [index] <A-v> navigate_index up
    169map [index] <C-v> navigate_index down
    170map [index] \< navigate_index top
    171map [index] \> navigate_index bottom
    172map [index] <A-\<> navigate_index top
    173map [index] <A-\>> navigate_index bottom
    174map [index] <C-b> navigate_index collapse
    175map [index] <C-f> navigate_index expand
    176map [index] <C-i> navigate_index expand-all
    177map [index] <A-i> navigate_index collapse-all
    178map [index] <Up> navigate_index up
    179map [index] <Down> navigate_index down
    180map [index] <Left> navigate_index collapse
    181map [index] <Right> navigate_index expand
    182map [index] <C-m> navigate_index select
    183map [index] <Space> navigate_index select
    184map [index] <Return> navigate_index select
    185map [index] <C-j> navigate_index select
    186map [index] <Esc> toggle_index
    187map [index] <C-[> toggle_index
    188map [index] <C-g> toggle_index
    189map [index] <C-c> toggle_index
    190map [presentation] i toggle_index
    191map [presentation] r navigate next
    192map [presentation] <Down> navigate next
    193map [presentation] <Right> navigate next
    194map [presentation] <PageDown> navigate next
    195map [presentation] <Space> navigate next
    196map [presentation] l navigate previous
    197map [presentation] <Left> navigate previous
    198map [presentation] <Up> navigate previous
    199map [presentation] <PageUp> navigate previous
    200map [presentation] <S-Space> navigate previous
    201map [presentation] <BackSpace> navigate previous
    202map [presentation] <F5> toggle_presentation
    203map [presentation] q toggle_presentation
    204map [presentation] <C-h> navigate previous
    205map [presentation] <M-v> navigate previous
    206map [presentation] <C-v> navigate next
    207map [presentation] <A-\<> goto top
    208map [presentation] <A-\>> goto bottom
    

3 Настройки

3.1 Установка как приложения по умолчанию

  • Приложение по умолчанию устанавливается с помощью xdg-utils (см. XDG. Приложения MIME):
    1xdg-mime default org.pwmt.zathura.desktop application/pdf
    2xdg-mime default org.pwmt.zathura.desktop image/vnd.djvu+multipage
    3xdg-mime default org.pwmt.zathura.desktop application/postscript
    4xdg-mime default org.pwmt.zathura.desktop image/x-eps
    

3.2 Конфигурационный файл

  • Конфигурационный файл: ~/.config/zathura/zathurarc.

4 Конфигурация

  • Конфигурационный файл: ~/.config/zathura/zathurarc.
     1# -*- mode: conf-unix -*-
     2## Zathura configuration file
     3## See man `man zathurarc'
     4
     5## Open document in fit-width mode by default
     6set adjust-open "best-fit"
     7
     8## One page per row by default
     9set pages-per-row 1
    10
    11## Stop at page boundries
    12set scroll-page-aware "true"
    13set smooth-scroll "true"
    14set scroll-full-overlap 0.01
    15set scroll-step 100
    16
    17## Zoom settings
    18set zoom-min 10
    19set zoom-step 3
    20set guioptions ""
    21
    22# keep several lines of text when
    23# scrolling a screenful
    24set scroll-full-overlap 0.2
    25
    26# see documentation for details
    27set scroll-page-aware true
    28set window-title-basename true
    29set adjust-open width
    30set statusbar-home-tilde true
    31set vertical-center true
    32set synctex true
    33# large bold font easier on the eyes in index mode
    34# status bar can be disabled with A-s
    35set font "Iosevka 12"
    36
    37set render-loading "false"
    38set scroll-step 50
    39unmap f
    40map f toggle_fullscreen
    41map [fullscreen] f toggle_fullscreen
    
    Распечатка 1: ~/.config/zathura/zathurarc

4.1 Буфер обмена

  • Выделение мышью копируется в буфер обмена, а не в x11 primary selection.
    1## Enable copy to clipboard when selecting text with mouse
    2set selection-clipboard clipboard
    
    Распечатка 2: ~/.config/zathura/zathurarc

4.2 Разное

1## Enable incremental search
2set incremental-search true
3
4## Disable sandbox
5set sandbox none
6
7## Zoom
8map <C-i> zoom in
9map <C-o> zoom out
Распечатка 3: ~/.config/zathura/zathurarc

4.3 Режимы

4.3.1 Нормальный режим

Таблица 6: Комбинация клавиш Zathura в основном режиме
Комбинации viКомбинации emacsЗначение комбинаций
J, Kперейти на следующую, предыдущую страницу
h, k, j, lпрокрутка влево, вверх, вниз, вправо
, , , →прокрутка влево, вверх, вниз, вправо
Ctrl+t, Ctrl+y,прокрутка влево, вправо на полстраницы
Ctrl+u, Ctrl+dпрокрутка вверх, вниз на полстраницы
Ctrl+f, Ctrl+bпрокрутка вверх, вниз на страницу
gg, G, nG, nggA-<, A->в начало, в конец, на n-ую страницу документа
a, sвместить страницу по высоте, по ширине
dпросмотр разворота
/, ?поиск по тексту
Shift+/обратный поиск по тексту
n, Nперейти к следующему, предыдущему результату поиска
o, Oоткрыть документ
fперейти по ссылке
Fпоказать адрес ссылки
r, nrповорот по часовой стрелке, поворот n раз
Ctrl+rинвертировать цвета (в ЧБ)
Rперезагрузить документ
+, -, =увеличить, уменьшить, оригинальный размер
qqвыход
C-Pпечать
  1. Стандартные комбинации
  1. Комбинации emacs

     1## Emacs-like keybindings
     2map [normal] <C-b> scroll left
     3map [normal] <C-n> scroll down
     4map [normal] <C-p> scroll up
     5map [normal] <C-f> scroll right
     6map [normal] <C-g> abort
     7map [insert] <C-g> abort
     8map [normal] <C-[> abort
     9map [normal] <A-\<> goto top
    10map [normal] <A-\>> goto bottom
    11map [normal] a adjust_window best-fit
    12map [normal] s adjust_window width
    13map [normal] F display_link
    14map [normal] <C-c> copy_link
    15map [normal] f follow
    16map [normal] m mark_add
    17map [normal] \' mark_evaluate
    18map [normal] \, navigate next
    19map [normal] \. navigate previous
    20map [normal] <A-Right> navigate next
    21map [normal] <A-Left> navigate previous
    22map [normal] <PageDown> scroll full-down
    23map [normal] <PageUp> scroll full-up
    24map [normal] <C-P> print
    25map [normal] c recolor
    26map [normal] R reload
    27map [normal] v rotate rotate_cw
    28map [normal] V rotate rotate_ccw
    29map [normal] <Left> scroll left
    30map [normal] <Up> scroll up
    31map [normal] <Down> scroll down
    32map [normal] <Right> scroll right
    33map [normal] <A-a> scroll half-left
    34map [normal] <C-V> scroll half-down
    35map [normal] <A-V> scroll half-up
    36map [normal] <A-e> scroll half-right
    37map [normal] <C-a> scroll full-left
    38map [normal] <C-v> scroll full-down
    39map [normal] <Return> scroll full-down
    40map [normal] <A-v> scroll full-up
    41map [normal] <C-e> scroll full-right
    42map [normal] <Space> scroll full-down
    43map [normal] <C-h> scroll full-up
    44map [normal] <BackSpace> scroll full-up
    45map [normal] <S-Space> scroll full-up
    46map [normal] l jumplist backward
    47map [normal] r jumplist forward
    48map [normal] <A-r> bisect forward
    49map [normal] <A-l> bisect backward
    50# still need to use '/' to trigger search
    51map [normal] <C-s> search forward
    52map [normal] <C-r> search backward
    53map [normal] p snap_to_page
    54map [normal] <C-i> toggle_index
    55map [normal] i toggle_index
    56map [normal] <Tab> toggle_index
    57map [normal] <A-s> toggle_statusbar
    58map [normal] <A-i> focus_inputbar
    59map [normal] d toggle_page_mode
    60map [normal] q quit
    61map [normal] + zoom in
    62map [normal] - zoom out
    63map [normal] = zoom in
    64map [normal] <A-P> toggle_presentation
    65map [normal] <A-F> toggle_fullscreen
    66map [normal] j toggle_fullscreen
    
    Распечатка 4: ~/.config/zathura/zathurarc

4.3.2 Полноэкранный режим

 1map [fullscreen] j toggle_fullscreen
 2map [fullscreen] q toggle_fullscreen
 3map [fullscreen] <C-b> scroll left
 4map [fullscreen] <C-n> scroll down
 5map [fullscreen] <C-p> scroll up
 6map [fullscreen] <C-f> scroll right
 7map [fullscreen] <C-g> abort
 8map [fullscreen] <C-[> abort
 9map [fullscreen] <A-\<> goto top
10map [fullscreen] <A-\>> goto bottom
11map [fullscreen] a adjust_window best-fit
12map [fullscreen] s adjust_window width
13map [fullscreen] F display_link
14map [fullscreen] <C-c> copy_link
15map [fullscreen] f follow
16map [fullscreen] m mark_add
17map [fullscreen] \' mark_evaluate
18map [fullscreen] \, navigate next
19map [fullscreen] \. navigate previous
20map [fullscreen] <A-Right> navigate next
21map [fullscreen] <A-Left> navigate previous
22map [fullscreen] <PageDown> scroll full-down
23map [fullscreen] <PageUp> scroll full-up
24map [fullscreen] <C-P> print
25map [fullscreen] c recolor
26map [fullscreen] R reload
27map [fullscreen] v rotate rotate_cw
28map [fullscreen] V rotate rotate_ccw
29map [fullscreen] <Left> scroll left
30map [fullscreen] <Up> scroll up
31map [fullscreen] <Down> scroll down
32map [fullscreen] <Right> scroll right
33map [fullscreen] <A-a> scroll half-left
34map [fullscreen] <C-V> scroll half-down
35map [fullscreen] <A-V> scroll half-up
36map [fullscreen] <A-e> scroll half-right
37map [fullscreen] <C-a> scroll full-left
38map [fullscreen] <C-v> scroll full-down
39map [fullscreen] <Return> scroll full-down
40map [fullscreen] <A-v> scroll full-up
41map [fullscreen] <C-e> scroll full-right
42map [fullscreen] <Space> scroll full-down
43map [fullscreen] <C-h> scroll full-up
44map [fullscreen] <BackSpace> scroll full-up
45map [fullscreen] <S-Space> scroll full-up
46map [fullscreen] l jumplist backward
47map [fullscreen] r jumplist forward
48map [fullscreen] <A-r> bisect forward
49map [fullscreen] <A-l> bisect backward
50map [fullscreen] <C-s> search forward
51map [fullscreen] <C-r> search backward
52map [fullscreen] p snap_to_page
53map [fullscreen] i toggle_index
54map [fullscreen] <C-i> toggle_index
55map [fullscreen] <Tab> toggle_index
56map [fullscreen] <A-s> toggle_statusbar
57map [fullscreen] <A-i> focus_inputbar
58map [fullscreen] d toggle_page_mode
59map [fullscreen] + zoom in
60map [fullscreen] - zoom out
61map [fullscreen] = zoom in
Распечатка 5: ~/.config/zathura/zathurarc

4.3.3 Режим работы с оглавлением

 1# status bar will obscure last item in index mode
 2map [index] <A-s> toggle_statusbar
 3map [index] q toggle_index
 4map [index] i toggle_index
 5map [index] <C-p> navigate_index up
 6map [index] <C-h> navigate_index up
 7map [index] <BackSpace> navigate_index up
 8map [index] <C-n> navigate_index down
 9map [index] <A-v> navigate_index up
10map [index] <C-v> navigate_index down
11map [index] \< navigate_index top
12map [index] \> navigate_index bottom
13map [index] <A-\<> navigate_index top
14map [index] <A-\>> navigate_index bottom
15map [index] <C-b> navigate_index collapse
16map [index] <C-f> navigate_index expand
17map [index] <C-i> navigate_index expand-all
18map [index] <A-i> navigate_index collapse-all
19map [index] <Up> navigate_index up
20map [index] <Down> navigate_index down
21map [index] <Left> navigate_index collapse
22map [index] <Right> navigate_index expand
23map [index] <C-m> navigate_index select
24map [index] <Space> navigate_index select
25map [index] <Return> navigate_index select
26map [index] <C-j> navigate_index select
27map [index] <Esc> toggle_index
28map [index] <C-[> toggle_index
29map [index] <C-g> toggle_index
30map [index] <C-c> toggle_index
Распечатка 6: ~/.config/zathura/zathurarc

4.3.4 Режим презентации

 1map [presentation] i toggle_index
 2map [presentation] r navigate next
 3map [presentation] <Down> navigate next
 4map [presentation] <Right> navigate next
 5map [presentation] <PageDown> navigate next
 6map [presentation] <Space> navigate next
 7map [presentation] l navigate previous
 8map [presentation] <Left> navigate previous
 9map [presentation] <Up> navigate previous
10map [presentation] <PageUp> navigate previous
11map [presentation] <S-Space> navigate previous
12map [presentation] <BackSpace> navigate previous
13map [presentation] <F5> toggle_presentation
14map [presentation] q toggle_presentation
15map [presentation] <C-h> navigate previous
16map [presentation] <M-v> navigate previous
17map [presentation] <C-v> navigate next
18map [presentation] <A-\<> goto top
19map [presentation] <A-\>> goto bottom
Распечатка 7: ~/.config/zathura/zathurarc

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие