В apvlv можно читать PDF, DjVu, EPUB, FB2, MOBI, CBZ, HTML, TXT и изображения, быстро переходить к нужной странице, искать текст, держать несколько документов во вкладках, делить окно, ставить позиционные метки, вращать и масштабировать страницы, печатать и извлекать текст через командную строку внутри окна. Основная работа строится на клавишах Vim: j, k, h и l прокручивают содержимое, Ctrl-f и Ctrl-b листают страницы, / и ? запускают поиск, а команды после двоеточия открывают файлы, создают вкладки и меняют масштаб.
Окно apvlv намеренно оставляет документ главным объектом: сверху располагаются вкладки, в центре находится область страницы или текста, а снизу показываются имя файла, номер страницы, масштаб и положение прокрутки. Меню, панель инструментов, полосы состояния и прокрутки можно скрывать или возвращать через настройки, поэтому рабочее пространство легко превратить либо в почти пустой экран для чтения, либо в более привычное окно с видимыми ориентирами.
Типичный сеанс начинается с открытия файла клавишей o или командой :open, после чего перемещение выполняется короткими сочетаниями без переключения рук на мышь. Число перед командой задаёт повтор: 20j прокручивает вниз на двадцать единиц, 5Ctrl-f перелистывает несколько страниц, а 120G сразу переводит к указанной странице. Для параллельной работы документ открывают клавишей t в новой вкладке, а нужное место сохраняют меткой вида ma и возвращаются к нему сочетанием с апострофом.
Скачать apvlv
- Редактирование PDF
- Русский интерфейс
- Просто новичкам
- Нет редактирования PDF
- Нужны Vim-команды
- Нет облачной синхронизации
Как устроено окно apvlv

Главная область окна не делится на постоянные боковые панели, ленты и инспекторы. При открытом PDF почти вся площадь отдана странице, а служебная информация сосредоточена по краям. Такой подход особенно удобен на небольшом экране и в мозаичном оконном менеджере: документ остаётся читаемым даже в половине монитора, а команды не требуют искать маленькую кнопку. При этом минимализм не означает отсутствия обратной связи. Нижняя строка показывает имя активного файла, текущую страницу относительно общего числа, коэффициент увеличения и процент прокрутки; по этим значениям легко понять, где находится курс чтения и почему страница выглядит крупнее или мельче ожидаемого.
Вкладки располагаются над областью документа и подписываются именами файлов. Активная вкладка выделяется, а переход между соседними выполняется последовательностями gt и gT. В старых темах оформления вкладки выглядят как узкие прямоугольники, в новых окружениях их внешний вид наследует системная тема, однако рабочая логика остаётся прежней: каждый документ хранит собственную страницу, масштаб и положение. Когда названия длинные, полезно давать файлам различимые короткие имена или открывать только материалы текущей задачи, иначе вкладки становятся тесными и различать их приходится по началу имени.
Командная строка появляется внизу после нажатия двоеточия, прямого или обратного поиска. Она принимает команды, номера страниц и текстовые запросы, а затем снова освобождает место документу. Это не отдельное терминальное окно: ввод относится к активной вкладке и текущему представлению. Если кажется, что j или q перестали работать, сначала проверьте, не осталась ли строка в режиме ввода; Esc возвращает обычное управление и предотвращает случайное добавление символов к незавершённой команде.
Набор видимых элементов регулируется параметром guioptions. Буквы в его значении отвечают за меню, панель инструментов, строку состояния и дополнительную строку статуса. Убирать всё сразу разумно только после освоения клавиш, потому что без нижней строки сложнее заметить активный масштаб и номер страницы. Для обучения удобнее оставить статус и вкладки, а затем постепенно скрывать то, что не используется. Полоса прокрутки управляется отдельным параметром scrollbar: она помогает оценить позицию мышью, но при клавиатурной работе может быть лишней.

Стартовый документ служит встроенной памяткой: в нём перечислены команды помощи, выхода и просмотра настроек. Это полезнее пустого холста, потому что пользователь сразу видит, что перед ним именно просмотрщик с модальным вводом. Команда :help открывает справку внутри того же механизма чтения, поэтому по ней можно перемещаться j и k, искать названия параметров через / и возвращаться назад обычными командами. Если справка открылась вместо рабочего файла, её можно закрыть q или перейти на другую вкладку, не завершая весь сеанс.
Открытие файлов и начало работы
Диалог выбора и команда открытия
Клавиша o вызывает системный диалог выбора файла. Этот способ удобен, когда путь неизвестен или нужно визуально пройти по каталогам. После подтверждения выбранный документ загружается в текущую вкладку. Клавиша t вызывает аналогичный выбор, но сохраняет текущий материал и создаёт новую вкладку. Разница важна при сравнении двух документов: o заменяет содержимое активного представления, а t оставляет исходный текст доступным для мгновенного возврата.
Команда :open принимает путь после пробела. Она быстрее диалога, когда файл лежит в знакомой папке или имя можно дополнить клавишей Tab. Для пути с пробелами безопаснее использовать корректное экранирование либо выбрать файл через диалог, потому что незакрытая часть имени может быть истолкована как отдельный аргумент. Команда :doc загружает указанный файл в текущее окно и подходит для сценария, где вкладку нужно переиспользовать, а не накапливать новые вкладки.
Параметр defaultdir задаёт папку, с которой начинается диалог. Его стоит направить на каталог с книгами, документацией или результатами сборки проекта. Тогда o открывает нужное место без повторного прохода от домашней папки. Если параметр содержит несуществующий или недоступный путь, диалог может открыться в системном каталоге по умолчанию; исправление состоит в проверке регистра букв, прав доступа и полного пути в файле настроек.

При запуске из командной оболочки имя файла можно передать сразу после имени программы. Такой старт полезен для файлового менеджера, горячей клавиши или сценария сборки документа: окно появляется уже на первой странице нужного материала. Параметр -c позволяет выбрать другой конфигурационный файл. С его помощью удобно держать отдельный профиль для чтения книг с крупным масштабом и другой профиль для технических PDF с автоматическим обновлением и скрытыми панелями.
Что происходит после загрузки
После открытия apvlv определяет формат по расширению и выбирает настроенный движок. Для PDF это может быть QtPdf, MuPDF или Poppler; для EPUB и FB2 доступны варианты на базе MuPDF или веб-движка. Если назначенный движок отсутствует в конкретной сборке, файл не откроется либо часть функций окажется недоступной. Поэтому при ошибке сначала проверяют не само расширение, а соответствие строки вида .pdf:engine или .epub:engine фактически подключённым компонентам.
Позиция чтения может сохраняться в файле ~/.apvlvinfo. При повторном открытии знакомого документа программа восстанавливает сведения о нём, благодаря чему не приходится каждый раз искать последнюю страницу. Параметр noinfo отключает это поведение, а max_info ограничивает число запомненных записей. Для общей рабочей станции или временного профиля разумно отключить историю; для личной библиотеки, наоборот, полезно увеличить лимит, если документов заметно больше ста.
Зашифрованный PDF требует пароль от самого документа. Возможность открыть его зависит от движка и корректности шифрования. Если окно остаётся пустым, проверьте файл в другом просмотрщике, затем переключите PDF-движок. apvlv не снимает ограничения, не восстанавливает забытые пароли и не изменяет параметры защиты; он только передаёт введённые данные библиотеке рендеринга.
Навигация по страницам в стиле Vim
Прокрутка внутри страницы
Клавиши j и k перемещают изображение вниз и вверх, h и l — влево и вправо. Их дублируют стрелки, Ctrl-n, Ctrl-p, Backspace и пробел, поэтому к управлению можно привыкать постепенно. На увеличенной странице горизонтальная прокрутка особенно важна: вместо уменьшения текста до неразборчивого размера можно держать масштаб и перемещаться по колонкам. В режиме подгонки по ширине h и l обычно почти не нужны, потому что страница уже помещается в рабочую область.
Команды H, M и L переводят вид к верхней, средней или нижней части текущей страницы. Они полезны при чтении длинного листа, где несколько нажатий j дают непредсказуемое положение. H возвращает начало, M центрирует среднюю область, L быстро показывает низ страницы. Если включён непрерывный режим, смысл этих клавиш зависит от текущего листа и границы между страницами; ориентироваться помогает номер в строке состояния.
Параметр autoscrollpage определяет поведение на краю. Когда он включён, дальнейшая прокрутка у нижней границы переводит к следующей странице, а у верхней — к предыдущей. Это создаёт непрерывный ритм чтения, но может мешать при точном сравнении нижнего колонтитула: одно лишнее j неожиданно меняет страницу. В таком случае autoscrollpage отключают и используют Ctrl-f для явного листания.
Переход на целые и половинные страницы
Ctrl-f и PageDown переходят вперёд на заданное число страниц, Ctrl-b и PageUp — назад. Ctrl-d и Ctrl-u сдвигают представление на половину страницы, сохраняя часть предыдущего контекста. Половинный шаг удобен в учебниках и статьях: последняя строка остаётся видимой, поэтому глаз не теряет место после перелистывания. Полный шаг быстрее в презентациях, сканах и документах с крупными иллюстрациями.
Числовой префикс применяется до команды. Последовательность 8Ctrl-f означает восемь переходов вперёд, 3Ctrl-u — три полушага назад, 40j — длинную прокрутку вниз. Префикс не требует Enter и действует только на следующую подходящую команду. Если цифры введены ошибочно, Esc сбрасывает незавершённое действие. Для больших прыжков точнее использовать номер страницы, чем повторять десятки листаний.
Клавиша G показывает страницу с номером, заданным перед ней. Поэтому 250G переводит к странице 250, а команда :250 выполняет тот же смысл через строку ввода. Команда :goto 250 или сокращённая :g 250 удобна, когда номер копируется из другого окна. Важно различать печатную нумерацию внутри документа и физический индекс PDF: обложка, оглавление и римские номера могут смещать соответствие, поэтому значение в строке состояния не всегда совпадает с цифрой, напечатанной на листе.
Команда s пропускает заданное число страниц. Она полезна для равномерного просмотра больших наборов, например при проверке каждого десятого листа: 10s быстро перемещает выборку. Для последовательного чтения предпочтительнее Ctrl-f, а для точного адреса — G. Разные команды оставлены не ради дублирования, а чтобы выбрать наиболее короткий жест под конкретную задачу.
Масштаб, подгонка и вращение
Команды zi и zo увеличивают и уменьшают страницу. Они меняют коэффициент относительно текущего значения, поэтому подходят для быстрой корректировки после открытия. Когда требуется предсказуемый режим, используют zw для подгонки по ширине и zh для подгонки по высоте. Подгонка по ширине удобна для текста в одну колонку, а по высоте — для просмотра полного листа, схемы или презентации.
Команда :zoom принимает режим или коэффициент. Значение 1.0 соответствует ста процентам, 2.0 — двумстам процентам. Числовой масштаб полезен при сравнении двух PDF во вкладках: одинаковый коэффициент уменьшает визуальные расхождения, вызванные автоматической подгонкой. Если окна имеют разный размер после разделения, одинаковый процент не гарантирует одинаковую видимую область, поэтому дополнительно синхронизируют позицию метками или номером страницы.
Параметр zoom в ~/.apvlvrc задаёт начальное поведение. fitwidth хорошо подходит для руководств и статей, fitheight — для слайдов, normal оставляет выбор программе. Фиксированный коэффициент уместен на постоянном мониторе с известной плотностью пикселей. На ноутбуке и внешнем дисплее одна цифра может давать слишком разный физический размер шрифта, поэтому автоматическая подгонка обычно переносится между экранами лучше.
Клавиша r поворачивает документ на девяносто градусов по часовой стрелке. Это действие предназначено для просмотра неверно ориентированного скана или таблицы в альбомной ориентации. Оно не переписывает PDF и не меняет файл на диске, поэтому после закрытия исходное содержимое остаётся прежним. Для постоянного исправления ориентации нужен редактор страниц, а apvlv используется только как средство чтения.
При очень большом увеличении рендеринг может занимать больше памяти и времени, особенно у сканов. Если прокрутка начинает запаздывать, уменьшите масштаб, отключите непрерывное отображение и попробуйте другой движок PDF. Для страницы, состоящей из одной огромной фотографии, подгонка по ширине зачастую быстрее фиксированного масштаба в несколько сотен процентов, потому что библиотеке не приходится держать избыточно крупный растр.
Поиск текста и возвращение к найденному
Клавиша / открывает поиск вперёд, ? — назад. Запрос вводится в нижней строке и подтверждается Enter. Поиск работает только там, где движок получает текстовый слой. В обычном PDF это символы, сохранённые автором; в скане без OCR видимая надпись является частью изображения и не находится. Если в одном документе поиск работает, а в другом нет, причина чаще всего в структуре файла, а не в клавиатуре.
Параметр wrapscan разрешает продолжить поиск с начала после достижения конца или с конца после достижения начала. При включённом цикле удобно искать повторяющийся термин, не следя за номером страницы, но можно не заметить, что просмотр уже прошёл весь документ. При проверке единственного вхождения цикл лучше отключить: отсутствие следующего результата явно показывает конец диапазона.
Для технических документов запрос нужно вводить с учётом того, как текст закодирован. Переносы строк, лигатуры, раздельные символы и встроенные шрифты могут мешать точному совпадению. Практичный порядок такой: сначала искать короткую уникальную часть слова, затем расширять запрос; для номера стандарта искать цифры без лишних пробелов; для формулы использовать подпись или ближайший обычный термин. Переключение PDF-движка иногда меняет качество извлечения текста.
После перехода к результату полезно поставить метку, например ma. Тогда можно продолжить поиск, просмотреть другие совпадения и вернуться к исходному месту через апостроф и a. Двойной апостроф возвращает к последней позиции и подходит для короткого скачка туда и обратно. Метки особенно полезны при поиске определения и последующем чтении раздела, который на него ссылается.
Вкладки и разделение окна
Клавиша t открывает выбранный файл в новой вкладке, а команда :tabnew создаёт вкладку через командную строку. Переход gt идёт вправо, gT — влево. Вкладки сохраняют независимые состояния, поэтому в одном PDF можно держать оглавление, в другом — таблицу, а в третьем — приложение. Когда документы связаны, имена вкладок становятся частью навигации; лучше не открывать несколько файлов с одинаковым базовым именем из разных папок, иначе визуально отличить их трудно.

Команды :sp и :vsp разделяют рабочую область горизонтально или вертикально. Разделение полезно для параллельного чтения, но уменьшает доступный размер страницы. Вертикальная схема хорошо работает на широком мониторе с двумя портретными страницами, горизонтальная — при сравнении верхней и нижней частей схемы или текста с примечаниями. После деления стоит включить fitwidth или задать меньший масштаб, иначе значительная часть документа окажется за границами каждой панели.
Разделённые представления не превращают apvlv в редактор сравнения: программа не подсвечивает различия и не синхронизирует страницы автоматически. Сопоставление выполняется вручную по номеру страницы, заголовкам и меткам. Для двух редакций документа удобно поставить одинаковые буквенные метки около сравниваемых разделов, затем переходить между окнами и возвращаться к сохранённым позициям.

Закрытие q относится к текущему окну или представлению, а ZZ завершает работу в стиле Vim. Перед нажатием важно убедиться, что командная строка не активна: символ q внутри запроса не закроет окно. Поскольку просмотрщик не редактирует содержимое PDF, предупреждение о несохранённых страницах обычно не требуется, однако заметки и состояние чтения могут записываться отдельно. Если нужно сохранить конкретное положение, поставьте метку или убедитесь, что использование ~/.apvlvinfo не отключено.
Просмотр каталога как оглавления
Клавиша O выбирает каталог для отображения, T открывает каталог в новой вкладке, а команда :directory переключает режим каталога. В дереве j и k перемещают выделение, h сворачивает ветку, l раскрывает её, t открывает выбранный документ в новой вкладке. Такой режим превращает папку с книгами или выпусками журнала в навигационную панель без отдельного файлового менеджера.

Дерево показывает реальные имена файлов и вложенные папки. Оно не строит библиотечный каталог по авторам, тегам или метаданным, поэтому качество навигации зависит от структуры диска. Практичная схема — отдельная папка на проект, понятные имена и ограниченная глубина вложенности. Смешивание сотен файлов в одном каталоге делает клавиатурный выбор медленным, даже если сам просмотр документа остаётся быстрым.
Режим каталога удобен для последовательного просмотра сканов: откройте папку, выберите первый файл, затем создавайте вкладки только для нужных экземпляров. Для временных результатов сборки лучше направить defaultdir в выходную папку и использовать R для обновления активного файла. Если дерево не показывает новый документ, сверните и раскройте каталог либо повторно откройте его, потому что список не всегда обновляется мгновенно.
Каталог не заменяет полнотекстовый поиск по коллекции. apvlv ищет внутри активного документа, но не индексирует содержимое всех файлов папки. Для большой библиотеки сначала находят нужный файл внешним поиском, затем открывают его в просмотрщике. Это разграничение помогает не ожидать от режима O функций системы управления документами.
Метки, история и восстановление позиции
Команда m с последующим символом сохраняет текущую позицию под одной буквой. Например, ma создаёт метку a, а последовательность с апострофом возвращает к ней. Метка включает не только номер страницы, но и контекст представления, поэтому помогает вернуться к конкретному фрагменту увеличенной схемы. Для длительной работы удобно назначать буквы по смыслу: i для введения, t для таблицы, b для библиографии.
Двойной апостроф возвращает к последней позиции без предварительного имени. Это быстрый аналог перехода назад после чтения ссылки, поиска или скачка на страницу. Команда особенно полезна в справочниках: перейдите к определению через номер страницы, прочитайте его и вернитесь к исходному абзацу. При серии переходов двойной апостроф обычно хранит только ближайшую точку, поэтому для нескольких независимых мест нужны именованные метки.
Файл ~/.apvlvinfo хранит сведения о недавно открывавшихся документах. Параметр max_info задаёт максимальное количество записей, а noinfo отключает их использование. Если позиция перестала восстанавливаться, проверьте доступность домашнего каталога, права на файл и не включён ли noinfo. Повреждённый файл сведений можно временно переименовать: apvlv создаст новый, но ранее сохранённые позиции будут потеряны.
Для материалов на съёмном носителе путь может измениться после повторного подключения, и запись истории перестанет соответствовать файлу. Стабильная точка монтирования решает проблему лучше, чем увеличение max_info. При копировании документа в другую папку программа может считать его новым объектом, даже если содержимое совпадает; в таком случае позицию быстрее восстановить номером страницы или заранее записанной меткой.
Поддерживаемые форматы и различия в работе
PDF является основным сценарием: доступны страничная навигация, масштаб, вращение, полнотекстовый поиск при наличии текстового слоя, печать, вкладки и выбор движка. Интерактивные формы, сложный JavaScript, мультимедиа и редакторские операции не относятся к сильным сторонам apvlv. Если документ требует заполнения полей, проверки цифровой подписи или изменения порядка страниц, лучше открыть его специализированным редактором, а apvlv оставить для чтения и быстрых переходов.
Встроенные ссылки и оглавление зависят от того, как конкретный движок интерпретирует структуру PDF. Если щелчок по ссылке не работает, используйте поиск по заголовку или номер страницы. У документов с нестандартными шрифтами возможны пропуски символов; установка недостающих шрифтов и переключение между QtPdf, MuPDF и Poppler часто дают разный результат. Пустая страница при нормальном размере файла обычно указывает на проблему рендеринга, а не на отсутствие содержимого.
DjVu и отсканированные книги
DjVu предназначен для сканов и обычно состоит из растровых страниц с отдельным текстовым слоем или без него. В apvlv такой документ листается теми же командами, что PDF. Масштаб выбирают по ширине, а для проверки мелких деталей временно увеличивают zi. Поиск возможен только при наличии распознанного текста. Если DjVu открывается как пустое поле, проверьте поддержку DjVu в сборке и целостность файла.
Скан большого формата может требовать горизонтальной прокрутки. Вместо постоянного уменьшения используйте h и l, а H, M и L — для вертикальных ориентиров. Для двухстраничных разворотов удобен масштаб, при котором на экране видна одна колонка; переход между левой и правой страницами выполняется горизонтальными клавишами. Вращение r исправляет сканы, записанные боком, но не сохраняет результат в исходный файл.
EPUB, FB2 и MOBI
Электронные книги с перемещаемым текстом отличаются от фиксированной страницы PDF. Их отображение зависит от MuPDF или веб-движка, выбранного для расширения. Веб-движок лучше понимает сложную разметку и стили, но использует больше компонентов; MuPDF может быть быстрее и предсказуемее на простом тексте. Масштаб в книге влияет на размер представления, а перенос строк меняет расположение фрагментов, поэтому номер страницы менее стабилен, чем в PDF.
Для EPUB и FB2 важны встроенные шрифты, таблицы стилей и корректная кодировка. Если буквы отображаются квадратами, сначала проверьте системные шрифты и другой движок. Если текст слишком широкий или мелкий, задайте fitwidth либо фиксированный коэффициент. Книги с интерактивными сценариями и сложной навигацией могут отображаться неполно; apvlv ориентирован на чтение содержимого, а не на воспроизведение всех возможностей электронного издания.
MOBI поддерживается как формат книги, но качество зависит от конкретного контейнера и подключённой библиотеки. Старые файлы с простой структурой обычно читаются надёжнее, чем издания с защищённым содержимым или нестандартной разметкой. Защиту от копирования программа не снимает. Если MOBI не открывается, конвертация законно приобретённой книги в EPUB внешним инструментом часто даёт более предсказуемый результат.
TXT и HTML
Обычный текст открывается без страничной верстки, но сохраняет общий набор команд прокрутки, поиска и вкладок. Для длинных журналов или исходных протоколов это даёт знакомую навигацию, хотя apvlv не заменяет текстовый редактор: изменить строку, сохранить исправление или выполнить синтаксическую обработку нельзя. Кодировка должна быть распознана корректно; искажённые символы обычно требуют предварительного преобразования файла в UTF-8.
HTML отображается через доступный веб-компонент. Локальная страница с простым текстом и изображениями подходит для чтения, но сложные сайты, внешние сценарии и сетевые зависимости могут вести себя иначе, чем в полноценном браузере. Безопаснее использовать apvlv для сохранённой документации, а не для произвольных веб-приложений. Если страница пустая, проверьте относительные пути к ресурсам и наличие веб-движка.
CBZ и изображения
CBZ представляет собой ZIP-контейнер с изображениями, поэтому страницы листаются как комикс или набор сканов. Порядок зависит от имён файлов внутри контейнера: числовые имена с одинаковой длиной сортируются предсказуемее, чем 1, 10, 2. При неправильной последовательности контейнер нужно исправить внешним инструментом; apvlv не переставляет элементы. Для широких разворотов применяются масштаб и горизонтальная прокрутка.
Отдельные изображения открываются как одностраничные документы. Это удобно для схем, скриншотов и отсканированных листов, когда нужны те же клавиши масштабирования. apvlv не выполняет коррекцию цвета, обрезку или пакетную обработку. Очень крупные TIFF или PNG могут требовать много памяти; предварительное уменьшение копии ускоряет просмотр, не затрагивая оригинал.
Выбор движка отображения
Строка .pdf:engine в конфигурации выбирает MuPDF, Poppler или QtPdf. Эти движки по-разному обрабатывают шрифты, прозрачность, аннотации, ссылки и повреждённые объекты. Универсально лучшего варианта нет: для одного документа быстрее MuPDF, для другого точнее QtPdf, а Poppler может лучше извлечь текст. Поэтому переключение движка — первый практический тест при пустых страницах, неверных символах или неработающем поиске.
Для EPUB и FB2 доступны MuPDF и Web. Веб-представление учитывает HTML-подобную структуру и CSS, но может запускаться медленнее и требовать дополнительные библиотеки. MuPDF проще по цепочке зависимостей и часто достаточно для обычной книги. Если один вариант не поддерживается, запись в конфигурации не добавит его автоматически; компонент должен быть включён при сборке программы.
После изменения движка полностью перезагрузите документ командой R или откройте его заново. Простое изменение строки в конфигурационном файле не всегда применяется к уже созданному представлению. Для чистого сравнения закройте вкладку, запустите новый сеанс с нужным профилем через -c и откройте тот же файл. Так исключаются сохранённый масштаб, кэш и состояние предыдущего движка.
Различия особенно заметны на PDF со сложными прозрачностями, встроенными формами и нестандартными шрифтами. Если изображение выглядит верно, но копирование текста даёт мусор, проблема может быть в таблице символов самого файла. Другой движок иногда помогает, но не восстанавливает отсутствующую семантику. Для скана единственным надёжным способом получить поиск остаётся OCR.
OCR, извлечение текста и печать
Параметр ocr:lang задаёт языки Tesseract в форме вроде eng+chi_sim. Язык должен соответствовать установленным обученным данным; запись имени без языкового пакета приводит к ошибке или отсутствию результата. Для русского текста обычно требуется соответствующий пакет распознавания и его код языка. Чем точнее набор языков, тем меньше похожих букв конкурирует при распознавании, поэтому не стоит без необходимости перечислять десятки моделей.
OCR полезен для скана без текстового слоя, но качество зависит от разрешения, наклона, контраста и шрифта. Перед распознаванием проверьте, что страница отображается без обрезки и поворота. Наклонённый или сильно сжатый JPEG даёт больше ошибок. Результат нужно воспринимать как черновой текст: имена, номера, формулы и таблицы требуют ручной проверки.
Команда :TOtext извлекает текст текущей страницы или документа в указанный файл. Она подходит для поиска цитаты, подготовки заметок и проверки наличия текстового слоя. Команда не сохраняет визуальную верстку PDF и может менять порядок колонок. Перед использованием результата в работе сравните его с оригинальной страницей, особенно если документ содержит таблицы, сноски или двухколоночный набор.
Команда :print отправляет текущий документ в механизм печати. Перед подтверждением проверьте ориентацию и диапазон в системном диалоге, потому что вращение для просмотра не обязательно меняет параметры печати. apvlv не предназначен для сложной допечатной подготовки, наложения меток или перестановки листов. Для обычной распечатки читаемого документа команда достаточна, а для брошюры лучше использовать специализированный инструмент.
Заметки и аннотации
apvlv поддерживает отметки, комментарии и подчёркивания в документно-ориентированном рабочем процессе. Заметки сохраняются отдельно для конкретного файла в каталоге, заданном параметром notes:dir. Это позволяет не переписывать исходный PDF, но требует сохранять каталог заметок вместе с документами. Если перенести только книгу, комментарии могут остаться в старом месте.
Перед началом длительного чтения задайте notes:dir в папку с резервным копированием и проверьте права записи. Каталог должен существовать или быть доступен для создания. Если заметка исчезает после перезапуска, сначала проверьте путь, затем совпадение имени и расположения исходного документа. Изменение пути к книге может нарушить связь с сохранёнными данными.
Аннотации apvlv не следует путать с полноценным редактированием объектов PDF. Программа не предназначена для изменения исходного текста, перестановки страниц, редактирования форм или подготовки электронной подписи. Отдельное хранение заметок удобно для личного чтения, но получатель исходного PDF не увидит их без соответствующих файлов заметок. Для обмена размеченным документом нужен формат аннотаций, поддерживаемый обеими сторонами, либо экспорт в другой инструмент.
Метки позиции и текстовые заметки решают разные задачи. Метка мгновенно возвращает к месту и не содержит объяснения; заметка фиксирует смысл, но требует отдельного просмотра. Для учебника удобно ставить метку на начало главы, а комментарии оставлять у определений и спорных фрагментов. Такая схема ускоряет повторение и не перегружает список заметок служебными точками навигации.
Настройка через ~/.apvlvrc
Базовый синтаксис
Каждая настройка записывается в форме set имя = значение. Пробелы вокруг знака равенства делают файл читаемее, но важнее точное имя параметра и допустимое значение. Перед массовым изменением сохраните копию конфигурации. Ошибка в одной строке может повлиять на запуск или оставить часть параметров без применения, поэтому новые настройки лучше добавлять небольшими группами и проверять после перезапуска.
Параметры width и height задают исходный размер окна, а fix_width и fix_height фиксируют размеры. Фиксация полезна в сценарии автоматического размещения, но мешает обычному изменению окна мышью. На экране с изменяемым масштабированием лучше оставить только начальные размеры. Если окно появляется за пределами рабочей области, уменьшите значения или временно запустите с чистым конфигурационным файлом.
fullscreen включает полноэкранный старт, а клавиша f переключает полноэкранный и оконный режим во время работы. Постоянный полноэкранный режим подходит для чтения, но затрудняет доступ к другим приложениям. Для презентации полезно также скрыть ненужные элементы guioptions, а для обычной работы оставить вкладки и статус. Выход из полноэкранного режима выполняется той же клавишей, поэтому отдельная кнопка не требуется.
Непрерывное отображение и прокрутка
Параметр continuous определяет, показываются ли страницы единым потоком. В непрерывном режиме естественно читать длинный текст и пользоваться j, k, Ctrl-d и Ctrl-u. В постраничном режиме проще удерживать точную страницу, экономить память на больших сканах и сравнивать одинаковые листы во вкладках. Выбор зависит не от формата, а от задачи: статья удобна потоком, чертёж — отдельным листом.
autoscrollpage дополняет continuous и задаёт переход на соседний лист при достижении границы. Если оба режима настроены неудачно, прокрутка может казаться слишком резкой. Для диагностики сначала отключите autoscrollpage, оставьте один способ листания и проверьте поведение. Затем включайте автоматический переход только при необходимости.
scrollbar показывает полосу прокрутки. Она полезна на длинных страницах и при работе мышью, но её положение в непрерывном документе не всегда точно передаёт номер физической страницы. Номер в строке состояния остаётся более надёжным ориентиром. Скрытие полосы экономит немного места, но не ускоряет рендеринг заметно.
Внешний вид и цвет
Параметр inverted включает инвертированное отображение PDF. Он снижает яркость белого фона при ночном чтении, однако меняет вид фотографий, схем и цветовых обозначений. Для текста это часто приемлемо, для медицинских снимков, карт и дизайнерских макетов — нет. Инверсию следует отключать перед проверкой цветов и печатью.
Параметр background задаёт цвет фона вокруг страницы. Он не перекрашивает содержимое PDF, а меняет свободную область окна. Нейтральный серый помогает видеть границы белого листа, тёмный уменьшает контраст в полноэкранном режиме. Слишком близкий к цвету страницы фон скрывает края и затрудняет оценку обрезки.
doubleclick определяет действие двойного щелчка: none, word, line или page. В режимах word, line и page выбранный фрагмент отправляется в буфер обмена. Результат зависит от текстового слоя и движка. На скане без OCR двойной щелчок не создаст настоящий текст, а в двухколоночной верстке выбор строки может захватить неожиданный порядок символов.
Автоматическая перезагрузка
Параметр autoreload задаёт интервал в секундах до автоматического обновления документа. Это полезно при подготовке PDF из LaTeX, Typst или другого генератора: после сохранения исходника просмотр обновляется без ручного R. Слишком короткий интервал создаёт лишнюю нагрузку и может попасть в момент, когда файл ещё записывается. Практичнее выбрать несколько секунд и сохранить ручную перезагрузку как запасной вариант.
Если автоматически обновляемый PDF временно становится пустым или выдаёт ошибку, причина часто в неатомарной записи файла. Генератор сначала очищает старый файл, затем создаёт новый, а просмотрщик успевает открыть промежуточное состояние. Настройте сборку на запись во временный файл с последующим переименованием либо увеличьте интервал. Команда R после завершения сборки восстанавливает нормальное представление.
Командная строка внутри окна
Команда :help открывает справку, :quit закрывает окно, :open загружает файл, :doc заменяет документ в текущем представлении. Сокращения работают по указанным префиксам, но для собственных заметок лучше писать понятную полную форму. Это снижает риск спутать похожие команды и упрощает перенос конфигурации между машинами.
:forwardpage и сокращение :fp переходят вперёд, :prewardpage и :bp — назад. Необычное написание prewardpage сохранено в интерфейсе, поэтому привычное английское слово backward может не сработать. Для ежедневной навигации быстрее Ctrl-f и Ctrl-b, а командные формы удобны в сценариях, где число вводится вместе с названием действия.
:goto и :g переходят к номеру страницы, а строка, состоящая только из :число, выполняет прямой переход. Последняя форма самая короткая при известном адресе. Если введён номер больше количества страниц, программа останется у границы или сообщит об ошибке в зависимости от движка. Проверяйте общее число в статусе, прежде чем считать переход неисправным.
:zoom меняет масштаб, :directory переключает дерево каталога, :tabnew создаёт вкладку, :sp и :vsp делят окно. Командная строка объединяет действия, которые трудно представить одной клавишей. Она также помогает пользователю Vim: названия и логика похожи на редактор, но не все команды Vim поддерживаются. Не следует ожидать :write, макросы редактирования или изменение текста документа.
Автодополнение уменьшает число ошибок в именах файлов и команд. После ввода части пути нажмите Tab и проверьте полученное продолжение. Если вариантов несколько, повторное нажатие перебирает их или показывает список в зависимости от окружения. Скрытые файлы и каталоги с пробелами требуют особого внимания, потому что визуально похожий путь может относиться к другому объекту.
Практические рабочие процессы
Чтение технического руководства
Откройте руководство, задайте fitwidth, включите непрерывный режим и оставьте строку состояния. Для перехода по оглавлению используйте номера страниц или поиск по заголовку. На начале важной главы поставьте метку, а определения ищите через /. Если таблица выходит за ширину, временно увеличьте масштаб и перемещайтесь h и l, затем вернитесь zw. Такой процесс не требует менять расположение рук и сохраняет контекст чтения.
Для параллельного просмотра спецификации и примеров откройте второй файл через t. Переключайтесь gt и gT, а одинаковые разделы помечайте одной логикой букв. Если нужно видеть оба документа, примените :vsp и уменьшите масштаб каждого. Не пытайтесь синхронизировать их количеством j: разная высота страниц быстро создаст расхождение; лучше использовать номера и заголовки.
Проверка результата сборки PDF
Запустите apvlv с выходным PDF, включите autoreload с умеренным интервалом и поставьте метки на места, которые проверяются после каждой сборки. После сохранения исходника дождитесь обновления, затем переходите к метке. Если файл мерцает пустой страницей, увеличьте интервал или используйте R после завершения компиляции. Для сравнения с предыдущим вариантом держите копию в соседней вкладке.
При изменении числа страниц старые метки могут указывать на другой фрагмент. После крупной правки обновите их по заголовкам. Если генератор меняет имя файла при каждой сборке, автоматическое обновление не поможет; стабильное имя или символическая ссылка упрощает процесс. apvlv следит за открытым объектом, а не за логикой проекта.
Работа с коллекцией сканов
Откройте каталог клавишей O, проходите дерево j и k, а выбранные документы отправляйте в отдельные вкладки t. Для каждого скана включайте подгонку по ширине и при необходимости вращение. Поиск проверяйте коротким словом: если результатов нет, определите наличие OCR. Важные страницы сохраняйте метками, а текст извлекайте только после проверки качества распознавания.
Для однотипных файлов полезна единая схема имён и папок. Дерево не показывает обложки и метаданные, поэтому название должно содержать различимый номер или тему. Если документы очень большие, закрывайте ненужные вкладки, отключайте continuous и избегайте избыточного масштаба. Это уменьшает потребление памяти без изменения исходных сканов.
Сравнение двух редакций документа
Откройте обе редакции во вкладках, установите одинаковый движок и масштаб, перейдите к одному заголовку и поставьте метки. Затем используйте gt и gT для визуального сравнения. Если страницы смещены из-за добавленного введения, ориентируйтесь на заголовки, а не на одинаковые номера. Для небольшого фрагмента удобен :vsp, но автоматической подсветки различий нет.
Текст можно извлечь из обоих файлов командой :TOtext и сравнить внешним инструментом. Такой метод выявляет изменения слов, но теряет графику и часть верстки. Поэтому окончательная проверка сочетает текстовое сравнение с визуальным просмотром страниц. apvlv выполняет быструю навигацию, а не анализ различий.
Чтение электронной книги
Выберите подходящий движок EPUB или FB2, задайте удобный масштаб и скройте лишние панели. Поскольку переносимый текст меняет расположение при изменении ширины окна, ставьте метки на смысловые места, а не полагайтесь только на номер страницы. Для поиска имени используйте короткую основу слова. Заметки храните в постоянном notes:dir и включите резервное копирование этой папки.
Если оформление книги мешает чтению, попробуйте другой движок. Веб-вариант может точнее сохранить стили, MuPDF — дать более простой и быстрый вывод. Сложные таблицы и врезки проверяйте при разных масштабах. apvlv не является редактором EPUB, поэтому исправление CSS и метаданных выполняется отдельно.
Ограничения, которые важно учитывать
apvlv не изменяет текст и структуру PDF. Нельзя исправить опечатку, удалить страницу, объединить файлы, заполнить форму как в специализированном редакторе или наложить цифровую подпись. Вращение и масштаб относятся к просмотру. Если задача заканчивается новым PDF-файлом, нужен редактор или командный инструмент, а apvlv остаётся средством проверки результата.
Интерфейс рассчитан на знание команд. Пользователь, ожидающий крупные кнопки для каждой операции, потратит время на справку. Начинать стоит с десяти сочетаний: o, t, j, k, Ctrl-f, Ctrl-b, /, zw, gt и q. Затем добавляют числа, метки и командную строку. Попытка сразу запомнить все параметры создаёт больше ошибок, чем постепенное обучение на реальном документе.
Набор форматов зависит от подключённых библиотек. Название формата в документации не гарантирует, что любая сборка содержит соответствующий движок. Это особенно заметно для HTML, электронных книг, OCR и некоторых вариантов PDF. При переносе конфигурации между системами проверяйте доступные компоненты, а не копируйте настройки без проверки.
Облачная библиотека, синхронизация заметок и совместная работа не встроены. Состояние хранится в файлах пользователя, поэтому перенос организуется резервным копированием конфигурации, ~/.apvlvinfo и каталога notes:dir. Такой подход прозрачен, но требует дисциплины. Конфликтующие копии не объединяются автоматически.
Сложные интерактивные PDF могут открываться только как статические страницы. Скрипты, мультимедиа, проверки форм и некоторые виды подписей требуют другого программного обеспечения. Для безопасного чтения это даже полезно, но нельзя считать визуальное отображение подтверждением, что все интерактивные функции документа исправны.
Устранение типовых ошибок
Файл не открывается
Сначала проверьте, существует ли файл, читается ли он текущим пользователем и совпадает ли расширение с реальным содержимым. Переименованный ZIP-контейнер с расширением PDF не станет PDF. Затем откройте путь через системный диалог, чтобы исключить ошибку экранирования. Если формат поддерживается только дополнительным движком, выберите доступный вариант в конфигурации или используйте сборку с нужной библиотекой.
Для пути с нелатинскими символами и пробелами сравните запуск из диалога и командной строки. Если диалог работает, проблема в разборе аргумента. Не добавляйте случайные кавычки внутрь имени в поле выбора. При запуске из оболочки используйте стандартное экранирование самой оболочки, а параметр -c проверяйте отдельно, чтобы ошибочный профиль не маскировал проблему файла.
Пустая или искажённая страница
Переключите PDF-движок, выполните R и откройте файл заново. Проверьте масштаб: при ошибочном фиксированном значении страница может оказаться далеко за видимой областью. Включите fitwidth, верните обычный фон и отключите inverted, чтобы исключить эффект оформления. Если другой просмотрщик также показывает пустоту, вероятно, повреждён сам документ.
Пропавшие буквы обычно связаны со шрифтом или таблицей кодировки. Установите недостающий системный шрифт, попробуйте другой движок и проверьте текстовое извлечение. Если визуально буквы есть, но копирование даёт неверные символы, проблема находится в текстовом слое PDF. OCR может создать новый текст, но его нужно проверять вручную.
Поиск ничего не находит
Убедитесь, что документ содержит текст, а не только изображения. Попробуйте выделить слово двойным щелчком при doubleclick=word или извлечь страницу через :TOtext. Если результат пуст, нужен OCR. Если текст есть, сократите запрос, уберите переносы и попробуйте другой регистр или движок. Циклический параметр wrapscan влияет на продолжение, но не создаёт отсутствующий текстовый слой.
Команды вводятся в документ или не срабатывают
Нажмите Esc, чтобы выйти из строки поиска или командного ввода. Проверьте раскладку клавиатуры: буквенные команды ожидают латинские символы. Убедитесь, что фокус находится в окне apvlv, а не в системном диалоге. В некоторых окружениях глобальные сочетания перехватывают Ctrl-f или Ctrl-b; временно отключите конфликтующую горячую клавишу и повторите тест.
Числовой префикс должен предшествовать команде без Enter. Ввод 20, затем Enter не равен 20j. Для перехода на страницу используйте 20G или :20. Если последовательность прервана мышью или сменой фокуса, начните её заново. Справка :help помогает проверить точное написание команд, особенно двусимвольных zi, zo, zw, zh, gt и gT.
Не восстанавливается место чтения
Проверьте noinfo и файл ~/.apvlvinfo. Он должен быть доступен для записи, а домашний каталог — определяться корректно. Увеличьте max_info, если история вытесняет старые документы. Если файл перемещён или переименован, запись может считаться другой. Для критически важного места сохраняйте номер страницы отдельно или используйте заметку, а не полагайтесь только на автоматическую историю.
Заметки не сохраняются
Проверьте notes:dir, существование каталога и права. Не используйте временную папку, которая очищается при перезагрузке. Если документ находится на носителе только для чтения, отдельный каталог заметок всё равно должен быть записываемым. После изменения пути перезапустите просмотрщик и создайте тестовую заметку, прежде чем продолжать длительную разметку.
Автообновление мешает чтению
Увеличьте autoreload или отключите его и используйте R. Проверьте, не переписывает ли генератор PDF файл несколько раз за одну сборку. Для медленного сетевого диска интервал должен учитывать время передачи. Если документ обновляется только иногда, ручная команда надёжнее постоянного опроса и не сбрасывает представление в неподходящий момент.
Прокрутка слишком резкая или медленная
Сравните continuous и autoscrollpage. Для плавного чтения включите continuous и используйте Ctrl-d, для точной постраничной проверки отключите автоматический переход и листайте Ctrl-f. Уменьшите масштаб у тяжёлого скана и попробуйте другой движок. Большое числовое значение перед j может выглядеть как зависание, хотя программа просто выполняет длинную серию прокруток.
Окно слишком маленькое или фиксированное
Проверьте width, height, fix_width и fix_height. Удалите фиксированные значения, если окно не растягивается. На дисплее с масштабированием старые пиксельные размеры могут стать неудобными. Временно запустите с альтернативным конфигурационным файлом через -c, чтобы убедиться, что причина именно в параметрах, а не в оконном менеджере.
Совместимость с рабочим окружением
Внешний вид диалогов, вкладок и шрифтов зависит от графической темы и компонентов интерфейса. Поэтому скриншоты из другого окружения могут отличаться по цвету и толщине рамок, но расположение документа, вкладок и строки состояния остаётся узнаваемым. Если текст интерфейса слишком мелкий, настройте системный масштаб и размер шрифта, а масштаб страницы регулируйте отдельно.
Для открытия из файлового менеджера передавайте выбранный путь как аргумент. Если каждый файл создаёт отдельное окно, а нужны вкладки, открывайте дополнительные материалы клавишей t из уже работающего сеанса. apvlv не обязан автоматически присоединять все внешние запуски к одному процессу. Рабочий сценарий с вкладками лучше строить внутри одного окна.
В мозаичном оконном менеджере фиксированные размеры обычно не нужны: менеджер сам распределяет пространство. Скрытые панели и fitwidth позволяют эффективно использовать узкую колонку. В традиционном окружении начальные width и height дают более удобное первое открытие. Полноэкранный режим f работает независимо от выбранной схемы размещения, если оконный менеджер не перехватывает клавишу.
На удалённом графическом сеансе тяжёлые страницы и веб-движок могут передавать много обновлений экрана. Уменьшение масштаба, отключение непрерывного режима и выбор более лёгкого движка снижают нагрузку. Для чисто текстового файла иногда эффективнее терминальный просмотрщик, но если нужны PDF, DjVu и вкладки в одном интерфейсе, apvlv сохраняет единый набор клавиш.
Безопасная работа с неизвестными документами
Документы PDF, DjVu, EPUB и HTML обрабатываются крупными библиотеками рендеринга, поэтому неизвестный файл следует открывать в обновлённой системе и без избыточных прав. Не запускайте просмотрщик от администратора только ради доступа к одной папке; лучше исправить права на файл или скопировать его в безопасное место. Отдельный пользовательский профиль ограничивает влияние повреждённого содержимого.
HTML и электронные книги могут ссылаться на внешние ресурсы. Для конфиденциальной работы предпочтительнее отключённая сеть или предварительная проверка контейнера. apvlv предназначен для отображения, а не для аудита сценариев. Если документ ведёт себя неожиданно, откройте копию в изолированной среде и переключитесь с веб-движка на более простой вариант, если формат позволяет.
Извлечённый через OCR или :TOtext текст не следует автоматически считать точной копией. Ошибка одной цифры в счёте, формуле или серийном номере может иметь последствия. Для важных данных сравнивайте результат с визуальной страницей и, при возможности, с исходным цифровым документом. Просмотрщик ускоряет доступ, но не подтверждает подлинность содержимого.
Сравнение apvlv с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| apvlv | Клавиатурного чтения PDF, DjVu и электронных книг во вкладках | Нет полноценного редактирования PDF |
| PDF Commander | Изменения текста и страниц, объединения и практической работы с PDF | Не воспроизводит Vim-подобный рабочий процесс |
| Zathura | Минималистичного просмотра документов с vi-подобными клавишами | Поддержка форматов зависит от отдельных плагинов |
| qpdfview | Обычного графического просмотра PDF во вкладках и с панелями | Клавиатурные последовательности менее похожи на Vim |
| Sioyek | Чтения научных статей с переходами, метками и исследовательскими функциями | Основной сценарий сосредоточен на PDF |
| MuPDF | Очень быстрого отображения PDF и книг с минимальным интерфейсом | Меньше средств организации нескольких документов |
apvlv стоит выбирать, когда ключевой критерий — единый набор Vim-подобных команд для разных документов, вкладки, дерево каталога и настраиваемые движки. PDF Commander лучше подходит, если результатом работы должен стать изменённый PDF. Zathura уместна для ещё более строгого минимализма и плагинной схемы, qpdfview — для привычных кнопок и боковых панелей, Sioyek — для научных публикаций, а MuPDF — для максимально прямого и быстрого показа файла.
При выборе важно разделить чтение и редактирование. apvlv ускоряет перемещение, поиск и возврат к месту, но не заменяет инструмент изменения страниц. Если основная трудность — медленная навигация по сотням страниц, его клавиатурная модель даёт заметное преимущество. Если трудность — исправить содержимое, заполнить форму или собрать новый файл, преимущество окажется у редактора.
Ответы на практические вопросы
Как быстро перейти к странице?
Введите номер и нажмите G, например 75G, либо откройте командную строку и введите :75. Команда :goto 75 даёт тот же результат. Сверяйте номер в строке состояния с печатной нумерацией документа, потому что обложка и введение могут создавать смещение.
Как открыть второй файл, не закрывая первый?
Нажмите t и выберите файл либо создайте вкладку командой :tabnew. Переключайтесь gt и gT. Если внешний файловый менеджер запускает отдельное окно, добавляйте документы из уже открытого apvlv, когда нужен единый набор вкладок.
Как вернуть документ к ширине окна?
Нажмите zw. Для подгонки по высоте используется zh. Начальный режим задаётся параметром zoom = fitwidth или zoom = fitheight. После разделения окна повторите подгонку в каждом представлении, потому что доступная ширина изменилась.
Почему поиск не видит слово на скане?
На странице нет текстового слоя. Проверьте извлечение через :TOtext или выбор слова двойным щелчком. Затем подключите Tesseract, задайте ocr:lang и выполните OCR. Результат обязательно проверяйте по изображению.
Можно ли изменить PDF?
Нет, основные команды относятся к просмотру: навигации, масштабу, вращению, поиску, печати и текстовому извлечению. Для изменения текста, форм, порядка страниц, объединения и подписи нужен редактор PDF.
Как убрать панели?
Настройте guioptions, оставив только нужные элементы, и отдельно задайте scrollbar. Полноэкранный режим переключается f. На этапе обучения лучше сохранить строку состояния, чтобы видеть страницу и масштаб.
Как сделать тёмный режим?
Включите inverted для инверсии страниц и задайте тёмный background вокруг листа. Проверяйте фотографии и цветные схемы без инверсии, потому что цвета изменяются. Параметр не редактирует исходный документ.
Как автоматически видеть новый PDF после сборки?
Задайте autoreload в секундах и откройте стабильный путь к выходному файлу. Если просмотр попадает в момент записи, увеличьте интервал или обновляйте R вручную после завершения сборки.
Как перенести настройки и позиции?
Скопируйте ~/.apvlvrc, файл ~/.apvlvinfo и каталог, заданный notes:dir. На новой системе проверьте наличие выбранных движков и языков OCR. Пути к документам должны совпадать, иначе сохранённая история может не связаться с перемещёнными файлами.
Как понять, какой движок используется?
Проверьте строки .pdf:engine, .epub:engine и .fb2:engine в конфигурации, затем перезапустите представление. Если указанного компонента нет, файл может не открыться. Для диагностики создайте отдельный профиль через -c и протестируйте каждый доступный вариант на одном документе.
Как освоить apvlv без перегрузки

На первом этапе достаточно открыть документ и выучить j, k, Ctrl-f, Ctrl-b, zw, / и q. Эти команды покрывают чтение, листание, подгонку, поиск и выход. На втором этапе добавьте t, gt, gT, числовой префикс и G. На третьем — метки, :open, :zoom, каталог и настройки. Такая последовательность связывает каждую клавишу с реальной потребностью и снижает вероятность забыть её.
Справку полезно читать внутри программы и искать в ней название действия. Вместо запоминания полного списка найдите слово zoom, directory или continuous, выполните задачу и повторите через день. Для часто используемых команд можно подготовить короткую памятку рядом с клавиатурой, но не размещать в ней редкие параметры. Практика на одном длинном документе формирует навык быстрее, чем чтение всех команд без применения.
Наконец, настройте только те параметры, которые исправляют конкретное неудобство: fitwidth для ширины, defaultdir для диалога, autoreload для сборки, notes:dir для заметок. Избыточно сложный ~/.apvlvrc труднее переносить и диагностировать. Чистый профиль через -c всегда должен оставаться способом проверить, связана ли ошибка с настройками.
Настройка apvlv под разные типы документов
Профиль для длинных PDF с текстом
Для руководств и книг с одной основной колонкой удобно задать начальную подгонку по ширине, включить непрерывное отображение и автоматический переход через край страницы. Строку состояния лучше оставить: она показывает физический номер листа и помогает сопоставлять его с оглавлением. Полосу прокрутки можно скрыть, если положение контролируется клавишами. Поиск следует проверить на первой странице с обычным словом; если он работает, документ имеет текстовый слой и пригоден для быстрых переходов.
При чтении раздела сначала поставьте метку на его начало, затем используйте Ctrl-d для полустраничных перемещений. Половинный шаг сохраняет несколько строк предыдущего фрагмента и снижает вероятность пропустить связь между абзацами. Для сносок и ссылок применяйте прямой переход по номеру, после чего возвращайтесь двойным апострофом. Если в документе часто встречаются широкие таблицы, не держите постоянно огромный масштаб: переключайтесь zw для текста и временно увеличивайте только нужный лист.
Профиль для чертежей и схем
У чертежа важнее геометрия, чем непрерывное чтение, поэтому continuous разумно отключить. Начальный режим fitheight показывает лист целиком и позволяет увидеть рамку, основную надпись и ориентацию. Для проверки мелких обозначений используйте zi, затем h, j, k и l для перемещения по увеличенной странице. Метки можно назначить на ключевые зоны схемы, чтобы повторно не искать их горизонтальной прокруткой.
Инвертированный режим для цветных схем лучше не использовать: он меняет смысл цветовых кодов и делает сравнение с печатным оригиналом ненадёжным. Фон вокруг страницы можно сделать серым, чтобы белая граница листа оставалась заметной. Если крупный чертёж отображается медленно, попробуйте другой PDF-движок, уменьшите коэффициент и закройте ненужные вкладки. Поворот r применяйте только для чтения; постоянную ориентацию исправляют в редакторе исходного файла.
Профиль для сканов без текста
Скан лучше открывать постранично с fitwidth и отключённой автоматической перезагрузкой. Сначала оцените резкость и ориентацию, затем проверьте, есть ли текстовый слой. Отсутствие результата у / и пустой вывод :TOtext указывают на необходимость OCR. Перед распознаванием выберите правильный язык и убедитесь, что страница не перевёрнута. Для двуязычного документа указывайте только реально встречающиеся языки, иначе вероятность ошибочного выбора символов возрастает.
После OCR ищите не длинную фразу, а короткое характерное слово. Ошибка одного символа не должна скрыть весь результат. Извлечённый текст сохраняйте отдельно и сравнивайте с изображением, особенно в фамилиях, датах и числах. Если скан содержит две страницы на одном изображении, программа покажет их как один лист; разделение и выравнивание выполняются внешним инструментом. В apvlv такой разворот читают увеличением и горизонтальной прокруткой.
Профиль для электронных книг
Для EPUB и FB2 сначала сравните MuPDF и Web на одной главе с таблицей, иллюстрацией и сноской. Выберите вариант, который сохраняет читаемый перенос строк и не задерживает переходы. Изменение ширины окна переразмещает текст, поэтому именованные метки и поиск надёжнее запомненного номера страницы. Параметр notes:dir следует направить в постоянную папку до создания первых комментариев.
Если книга имеет слишком декоративное оформление, уменьшение масштаба не всегда решает проблему: мелкий текст останется связан с авторскими стилями. Другой движок может дать более простой вывод. Для главы с кодом или таблицей временно расширьте окно либо используйте горизонтальное разделение только для второго документа, не уменьшая ширину книги. После изменения профиля перезагрузите файл, чтобы старое представление не сохранило прежний движок.
Профиль для нескольких справочников
При работе с набором связанных файлов используйте каталог как точку входа и открывайте нужные материалы во вкладках. Имена файлов должны различаться в первых символах, потому что узкая вкладка может скрыть конец названия. Распределите метки по одинаковой схеме: a для содержания, d для определения, e для примера, r для справочной таблицы. Тогда одна и та же клавиатурная логика работает во всех документах.
Не держите десятки вкладок только ради истории: файл сведений уже восстанавливает недавние позиции. Закрывайте материалы, которые не участвуют в текущем сравнении, и оставляйте вкладки для активного контекста. Если два справочника нужно видеть одновременно, применяйте вертикальное разделение на широком экране и fitwidth в каждой панели. На узком экране переключение gt и gT обычно даёт более крупный и читаемый текст.
Точная диагностика по строке состояния
Нижняя строка помогает различать несколько похожих проблем. Если номер страницы меняется, но изображение остаётся тем же, возможен сбой рендеринга или документ содержит повторяющиеся листы. Если масштаб неожиданно велик, верните zw или zh. Если процент прокрутки не меняется при j, страница уже достигла границы либо фокус находится не в области документа. Имя файла подтверждает, что активна нужная вкладка, а не похожая копия.
При сообщении пользователя переход не работает сначала записывают четыре значения: активное имя, текущую страницу, общий диапазон и масштаб. Затем повторяют действие без числового префикса. Такой порядок выявляет ошибочно накопленное число, неверную вкладку и слишком большой масштаб. После этого проверяют режим ввода и раскладку. Только если состояние корректно, имеет смысл менять движок или конфигурацию.
Строка состояния также полезна при сравнении производительности. Откройте один файл с разными движками, задайте одинаковый масштаб и страницу, затем оцените время появления и плавность прокрутки. Сравнивать разные страницы или fitwidth в окнах разной ширины бессмысленно: объём рендеринга отличается. Результат стоит проверять на нескольких типах страниц — тексте, фотографии и сложной векторной схеме.
Итоговый рабочий подход
apvlv наиболее эффективен в задачах, где документ много читают, сравнивают и пересматривают, а не редактируют. Его сильная сторона — короткие команды с числовыми префиксами, вкладки, разделение окна, метки, поиск, каталог и единый способ работы с несколькими форматами. Результат ощущается не в количестве кнопок, а в сокращении повторяющихся движений при переходе между страницами и файлами.
Для устойчивой работы выберите подходящий движок, сохраните понятный конфигурационный файл, оставьте видимым минимум полезной информации и организуйте резервное копирование истории и заметок. При проблемах проверяйте формат, текстовый слой, движок, масштаб и состояние командной строки в таком порядке. Этот порядок отделяет ошибки документа от ошибок настройки и позволяет быстро вернуть читаемое представление без случайного изменения исходного файла.