СПРАВОЧНИК ПО VIM - Брам Мооленаар
1. Разные команды
2. Справка
<Help> или :h[elp] |
Открыть окно и показать в нём файл справки в режиме только для чтения. Если окно справки уже открыто, то файл справки будет показан в этом окне. В противном случае, если текущее окно занимает полную ширину экрана или не менее 80 символов в ширину, то окно справки будет помещено непосредственно над текущим окном, иначе окно помещается в самом верху экрана. Опция 'helplang' применяется для выбора языка в том случае, если основной файл справки доступен на нескольких языках. Vi не имеет такой возможности. |
Работает как команда ":help", но при этом происходит автоматическое перемещение к метке с указанной {темой}. При этом в {теме} можно использовать символы подстановки, такие как "*" и "?": :help z? показать справку для любой команды "z" Если полного соответствия указанному шаблону не существует или если имеется несколько соответствий, то будет использовано "лучшее" с точки зрения Vim соответствие. Для выбора лучшего соответствия используется довольно сложный алгоритм, учитывающий следующие факторы:
Для выбора языка справки используется опция 'helplang', которая работает в том случае, если заданная {тема} доступна на нескольких языках. Для поиска метки на определённом языке, добавьте к концу темы "@ab", где "ab" это двухбуквенный код языка. Например, для русского языка используется код "ru". См. также |справка-перевод_на_другие_языки|. Обращаем ваше внимание, что чем длиннее заданная {тема}, тем меньше будет найдено соответствий. Чтобы представить, как это работает, попробуйте воспользоваться дополнением командной строки (после ввода команды нажмите CTRL-D). Если имеется несколько соответствий, то их список можно увидеть, нажимая CTRL-D. Например: :help cont<Ctrl-D> Для того, чтобы использовать |шаблон| регулярных выражений, надо сначала выполнить команду ":help", а затем команду ":tag {шаблон}" в окне справки. После этого можно пользоваться командами ":tnext" для прыжка к следующей метке и ":tselect" для выбора необходимого соответствия из списка. :help index| :tse z. Эта команда может использоваться с другой командой, подклеенной с помощью '|', при этом внутри команды ":help" не нужно экранировать '|'. Таким образом, работают обе команды: :help | Обратите внимание, что пробел перед '|' воспринимается как часть параметра команды ":help". Чтобы отделить команду получения справки от следующей команды также можно использовать символы <LF> или <CR>. Для ввода этих символов необходимо сначала ввести команду CTRL-V. Например: :help so<C-V><CR>only Vi не имеет такой возможности. |
|
:h[elp]! [тема] | То же, что и ":help", но предпочитать поиск метки в файле с тем же языком, что и текущий файл для неанглийских файлов справки. См. также |справка-перевод_на_другие_языки|. |
Команда выполняет поиск соответствий указанному {шаблону} во всех файлах справки и составляет список найденных соответствий. После этого происходит переход к первому соответствию. Перемещаться по списку соответствий можно при помощи команд быстрого исправления (см. |быстрое_исправление|), например |:cnext| для перехода к следующему соответствию. Чтобы открыть список в окне можно воспользоваться командой |:cwindow| (используется окно списка ошибок). В качестве {шаблона} используется обычный |шаблон| регулярных выражений Vim. Опция 'ignnorecase' не используется, но вы можете добавить "\c" для того, чтобы игнорировать регистр символов. Пример регистрозависимого поиска: :helpgrep Уганда Пример регистронезависимого поиска: :helpgrep уганда\c Эта команда не может быть склеена с другой командой, поскольку всё, что следует за командой воспринимается как шаблон. Однако, вы можете воспользоваться возможностями, которые предоставляет команда |:execute|, если это необходимо. Поиск в сжатых файлах справочника не выполняется. (Файлы справки сжимаются на Debian). Vi не имеет такой возможности. |
Если команда |:help| используется без параметров, то будет открыт файл, указанный в значении опции 'helpfile'. В противном случае поиск указанной в параметре метки будет вестись во всех файлах "doc/tags", в каталогах, указанных с помощью опции 'runtimepath'.
Высота окна справки может быть установлена с помощью опции 'helpheight' (по умолчанию: 20).
Для перемещения между темами используйте метки:
- По команде CTRL-] совершается прыжок к имени, на котором находится курсор. В качестве имени может выступать ключевое слово, название опции или команды. Имя должно состоять из символов, которые могут быть в составе ключевого слова. "<C-Leftmouse>" (нажатие левой кнопки мыши с кнопкой <Ctrl>) и "g<LeftMouse>" выполняют те же самые действия.
- можно также использовать команду ":ta {тема}". Такая команда позволяет использовать также символы, которые не входят в состав ключевых слов.
Для возврата к предыдущей позиции используйте CTRL-T или CTRL-O.
Закрыть окно справки можно по команде ":q".
Если имеется несколько соответствий для заданной вами темы, то можно использовать следующий метод для перехода к каждому из них по очереди:
- Откройте окно справки.
-
Используйте команду ":tag" с символом косой черты перед именем метки.
Например:
:tag /min
- Для перехода к следующей метке используйте команду ":tnext".
Вы можете добавлять файлы справки для модулей и других элементов. При этом вам не потребуется изменять стандартные файлы справки. Подробнее см. |добавление_файла_справки|.
О том, как написать собственный файл справки, читайте в разделе |создание_справки|.
Обратите внимание, что заголовки местных справочных файлов автоматически добавляются в раздел "МЕСТНЫЕ ДОПОЛНЕНИЯ" в файле "help.txt". См. |местные_дополнения|. Это добавление происходит во время просмотра этого файла в редакторе, сам файл при этом не изменяется. Редактор сам просматривает все местные дополнения к справочнику и вставляет необходимые строки "на лету", за исключением файлов в каталоге $VIMRUNTIME/doc.
Если вам хочется держать справочник в отдельном окне xterm, то вы можете использовать такую команду:
:!xterm -e vim +help &
:helpf[ind] | То же, что и |:help|, но позволяет использовать диалог для ввода параметра. Существует для обратной совместимости с прежними версиями. Вместо встроенного диалога в современных версиях эта команда выполняет пункт меню Toolbar.FindHelp. Доступно только в том случае, если Vim скомпилирован с особенностью |+GUI_GTK|. Vi не имеет такой возможности. |
Создаёт файл меток для указанного {каталога}. При этом будет проводиться поиск определений меток, заключённых между звёздочками, во всех файлах "*.txt" и "*.??x". Файлы "*.??x" используются для переводов документации на другие языки, для них создаётся отдельный файл меток "tags-??", см. |справка-перевод_на_другие_языки|. Созданный по этой команде файл сортируется. При обнаружении двойных определений выдаётся сообщение об ошибке. Существующий файл меток переписывается без выдачи предупреждений. Чтобы перестроить метки справочника в каталоге рабочей среды Vim, выполните команду: :helptags $VIMRUNTIME/doc (требуются права на запись в этом каталоге) Vi не имеет такой возможности. |
ПЕРЕВОД СПРАВКИ НА ДРУГИЕ ЯЗЫКИ
Вы можете добавить переведённые на другой язык файлы справки к исходным файлам на английском языке. Vim будет выполнять поиск справки во всех файлах справочника в каталогах, заданных значением опции 'runtimepath'. Эта возможность доступна только при включённой особенности |+multi_lang|.
Набор переведённой документации состоит из следующих файлов:
help.abx
howto.abx
...
tags-ab
Здесь "ab" это двухбуквенный код языка. Например, для русского языка используются файлы со следующими именами:
help.rux
howto.rux
...
tags-ru
Опция 'helplang' используется для задания предпочтительных языков для документации. По умолчанию её значение устанавливается в соответствии со средой, в которой работает Vim. Vim прежде всего пытается найти соответствующие метки в файлах справки на предпочтительном языке. Если это сделать не удалось, то используется английский язык справки.
Для поиска метки в файлах справочника на определённом языке добавьте "@ab" к метке, где "ab" это двухбуквенный код языка. Например:
:he user-manual@ru<br< a="">> :he user-manual@en>
Первая команда выполняет поиск русского руководства пользователя, даже в том случае, когда значением опции 'helplang' является пустая строка. Вторая команда выполняет поиск английского руководства пользователя, даже если значением опции 'helplang' является "ru".
При использовании автодополнения при вводе команды ":help", расширение "@en" добавляется только в том случае, когда метка используется в файлах справки на нескольких языках. Если метка существует только в английском файле справки, то расширение "@en" опускается.
При использовании |CTRL-]| или команды ":help!" в неанглийском файле справки Vim пытается найти нужную метку на том же самом языке. Если это не получается, то для выбора языка используется значение опции 'helplang'.
Файлы справки должны быть в кодировке latin1 или utf-8. Vim считает, что кодировка файла справки utf-8, если в первой строке файла обнаружены не-ASCII символы. Таким образом, вы должны перевести строку "For Vim version".
Для всех файлов справки в одном каталоге для одного языка должна использоваться одна и та же кодировка. Вы можете использовать разные кодировки для разных языков. Вы также можете использовать разные кодировки для файлов справки одного языка, если они помещаются в разных каталогах.
Советы переводчикам:
- Не переводите метки, иначе будет невозможно использовать опцию 'helplang' для выбора предпочтительного языка. Вы можете добавлять метки на другом языке, если у вас есть такое желание.
- Если файл не переведён полностью, то добавляйте метки к английской версии с помощью записи "метка@en".
- Сделайте языковой пакет доступным для загрузки другими пользователями. В этом случае другие пользователи смогут распаковать его у себя в каталоге "doc" и начать им пользоваться. Не забудьте сообщить о своём переводе Браму, чтобы он мог поместить ссылку на сайте www.vim.org. (*)
- Используйте команду |:helptags| для создания файлов меток. Эта команда автоматически найдёт все языки в указанном каталоге.
Именно этим и занимается проект РуВим; поскольку в этом пакете включены не только переводы справочника на русский язык, но и другие связанные с русским языком файлы, то его следует распаковывать в один из каталогов, указанных в значении опции 'runtimepath'. Подробнее о проекте РуВим см. |русский-пакет_языковой_поддержки|.
3. Печать на принтере
В MS-Windows Vim может печатать текст на любом установленном в системе принтере. На других системах подготавливается файл в формате PostScript, который может быть отправлен на принтер PostScript. Чтобы использовать не-PostScript принтер на системах, отличных от MS-Windows, вам потребуется вспомогательная программа, например ghostscript.
3.1 Печать PostScript
3.2 8-битные кодировки для печати
3.3 Устранение проблем при печати PostScript
3.4 Утилиты PostScript
3.5 Символы протяжки бумаги
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+printer|.
Отправить строки в указанном [диапазоне] (по умолчанию: весь файл) на принтер. На MS-Windows вы сможете воспользоваться системным диалогом для выбора принтера, размера бумаги и прочих параметров печати. Чтобы не показывать диалог, к команде следует добавить [!]. В этом случае используется принтер, указанный в значении опции 'printdevice', или, если значением опции 'printdevice' является пустая строка, принтер, установленный в системе как основной. Для систем, отличных от MS-Windows, файл PostScript записывается во временный файл, а для печати этого файла используется выражение, указанное в значении опции 'printexpr'. Дополнительные [параметры] команды печати доступны в выражении через переменную |v:cmdarg|. В противном случае [параметры] игнорируются. Для задания размера бумаги, дуплекса и других опций печати используется опция 'printoptions'. |
|
:[диапазон]ha[rdcopy][!] >{файл} |
То же, что и предыдущая команда, но PostScript будет записан в указанный {файл}. Символы вроде "%" будут работать, как ожидается. См. |командная_строка-спецсимволы| Внимание: существующий файл будет перезаписан без предупреждения. Доступно только в том случае, если Vim скомпилирован с особенностью |+postscript|. В MS-Windows для достижения тех же результатов следует пользоваться особенностью "Печать в файл" драйвера принтера. |
Во время печати будет отображаться состояние процесса печати в виде номера страницы и процентного отношения. Для остановки печати используйте кнопку прерывания (CTRL-C или, на системах MS, CTRL-Break).
Параметры печати управляются опциями 'printfont' и 'printoptions'. Опция 'printheader' позволяет задать формат заголовка страницы.
При печати используются установленные поля страницы, независимо от текущего значения опций 'wrap' и 'linebreak'. Для того, чтобы отключить перенос строк при печати, можно использовать элемент опции 'printoptions' "wrap". При печати используются текущие цвета подсветки синтаксиса с некоторыми изменениями:
- Обычный фон всегда считается белым (т.е. цвет бумаги).
- Белый текст (обычный цвет текста) считается чёрным, чтобы его было видно на бумаге!
- Если значением опции 'background' является "dark", то все цвета затемняются, поскольку на белой бумаге они, скорее всего, выглядели бы слишком светлыми.
3.1 Печать PostScript
У вас не должно возникать проблем при создании файла PostScript, если на диске имеется достаточно свободного места. Файлы рабочей среды должны быть установлены правильно (что скорее всего так, если вы способны читать справку).
При печати PostScript в текущих версиях имеется ряд ограничений:
- 'printfont' - Имя шрифта игнорируется (всегда используется семейство Courier, шрифты этого семейства должны быть доступны на всех принтерах PostScript), хотя размер шрифта используется при печати.
- 'printoptions' - Установки дуплекса используются при формировании файла PostScript, но последнее слово остаётся за принтером. Если принтер не поддерживает дуплексную печать, то наиболее вероятно, что эти настройки будут просто молча игнорироваться. В то же время, некоторые принтеры могут отказаться печатать такой PostScript.
- Поддержка 8-битных символов - Несмотря на то, что поддерживается ряд 8-битных кодировок, некоторые символы могут быть непечатными. Это зависит от шрифта, установленного в принтере. Пропущенные символы могут заменяться на печати перевёрнутым вопросительным знаком или пробелом. При этом, часто можно избавиться от этих проблем путём установки новой версии принтерного шрифта семейства Courier.
- Поддержка мультибайтных кодировок - В текущих версиях Vim будет пытаться преобразовать мультибайтные символы в 8-битную кодировку, указанную в значении опции 'printencoding' (по умолчанию, если опция 'printencoding' пустая -- latin1). Символы, которые не могут быть преобразованы, будут напечатаны как неизвестные символы. Если Vim не в состоянии преобразовать данную мультибайтную кодировку в 8-битную кодировку, то печать будет невозможна.
3.2 8-битные кодировки для печати
Для того, чтобы использовать ту или иную кодировку при печати 8-битных символов вам может потребоваться определить собственный вектор кодирования шрифта PostScript. Подробное описание этого процесса выходит за рамки данного справочника, их можно почерпнуть из Справочника по языка PostScript: PostScript Language Reference Manual, 3rd Edition, который издан издательством Addison-Wesley и доступен в электронном виде (PDF) на сайте https://www.adobe.com/. Здесь мы лишь кратко опишем шаги, которые необходимо предпринять, чтобы Vim мог найти и использовать определённую вами кодировку для печати.
- Выберите уникальное имя для вашего вектора кодирования, который не пересекается со стандартными названиями кодировок, используемых в Vim (список известных кодировок можно посмотреть здесь: |кодировки-имена|) и который вряд ли будет использован кем-то ещё.
- Скопируйте в ваш личный подкаталог print, находящийся по пути, указанному в значении опции 'runtimepath' файл $VIMRUNTIME/print/latin1.ps, изменив его имя на имя вашей уникальной кодировки.
- Отредактируйте переименованную копию latin1.ps, заменив все строки "latin1" на уникальное имя вашей кодировки, в том числе в строке, начинающейся с %%Title:, а также измените массив имён глифов с целью определения нового вектора кодирования. Массив должен состоять из 256 элементов -- не более и не менее, иначе вы не сможете печатать.
- В VIM установите значение 'printencoding' равным имени вашей уникальной кодировки и попробуйте напечатать файл. При этом Vim будет использовать определённую вами кодировку печати.
Vim выдаст сообщение об ошибке в файле ресурса, если вы случайно измените порядок или содержание первых трёх строк, за исключением строки с именем кодировки, которая начинается с %%Title: и строки, в которой указана версия файла, начинающейся с %%Version:.
Технические подробности для знатоков языка PostScript - Vim ищет файл с тем же именем, что и кодировка, используемая для печати. В файле определяется новый ресурс кодировки PostScript, который называется /VIM-имя, где имя это название кодировки, которую Vim будет использовать при печати.
3.3 Устранение проблем при печати PostScript
В большинстве случаев единственный симптом проблемы, которым вы можете располагать - отказ печатать вашу страницу. Если вам повезёт, то вы можете получить распечатку, в которой будет указан оператор языка PostScript, который вызывает ошибку, приводящую к сбоям в выполнении задания печати.
Существует несколько возможных причин, по которым печать может завершиться неудачно:
- Неправильная версия ресурсного файла пролога. ресурсный фал пролога содержит код на языке PostScript, который необходим Vim для печати. Каждая версия Vim требует свою версии этого файла. Убедитесь, что вы правильно установили файлы, необходимые Vim для работы, и что у вас не имеется старых версий файла prolog в каталоге print где-либо по пути, указанному в значении опции 'runtimepath'.
- Размер бумаги. Некоторые принтеры PostScript отказываются печатать файл, если они не поддерживают заданный в установках размер бумаги. По умолчанию Vim использует бумагу формата A4. Вам следует выяснить размер бумаги, который обычно используется вашим принтером, и установить требуемый размер бумаги с помощью опции 'printoptions'. Если вы не можете выяснить, как называется формат бумаги, который следует использовать, измерьте лист бумаги и сравните его размеры с указанными в таблице поддерживаемых форматов бумаги, которую можно посмотреть в справке по опции 'printoptions'. Используйте формат, который наиболее близок как по ширине, так и по длине листа. Замечание: размеры настоящего листа бумаги могут незначительно отличаться от указанных в таблице. Если в таблице нет ничего близкого к вашему формату, можно попытаться использовать программу psresize из пакета PSUtils, который обсуждается ниже.
- Двухсторонняя печать (дуплекс). Обычно, принтер PostScript, который не поддерживает двухстороннюю печать, игнорирует любые настройки с ней связанные. Однако, некоторые принтеры при этом отказываются выполнять печать. Постарайтесь напечатать с отключенным дуплексом. Замечание: двухсторонней печати можно добиться вручную при помощи PSUtils -- см. ниже.
- Печать с подбором. Как и при дуплексной печати, большинство принтеров PostScript, которые не поддерживают печать с подбором, просто игнорируют соответствующие настройки. Если ваш принтер отказывается печатать задание, попытайтесь отключить подбор страниц при печати.
- Подсветка синтаксиса. Некоторые драйверы печати могут воспрепятствовать печати созданного файла PostScript на черно-белом принтере при включённой подсветке синтаксиса, даже в тех случаях, когда используется исключительно чёрный цвет. Попытайтесь отключить подсветку синтаксиса.
Безопасные настройки печати могут выглядеть так:
:set printoptions=paper:A4,duplex:off,collate:n,syntax:n
Вы можете заменить "A4" на формат бумаге, наиболее близкий к используемому в принтере.
3.4 Утилиты PostScript
3.4.1 Ghostscript
Ghostscript это интерпретатор PostScript и PDF, который можно использовать для просмотра и печати на не-PostScript принтерах файлов в формате PostScript и PDF. Кроме того, он позволяет создавать из файлjd PostScript файлы в формате PDF.
Ghostscript работает на широком спектре платформ.
Доступны три версии этой программы:
- AFPL Ghostscript (бывший Aladdin Ghostscript) распространяется бесплатно для некоммерческого использования. Его можно получить на сайте: https://www.cs.wisc.edu/~ghost/
- GNU Ghostscript, доступный на условиях Стандартной Общественной Лицензии GNU. Получить можно здесь: ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/
- Коммерческая версия для включения в состав коммерческих продуктов.
Дополнительная информация о Ghostscript может быть получена на сайте: https://www.ghostscript.com/
В стандартную поставку включена поддержка нескольких не-PostScript принтеров, но если ваш принтер не входит в стандартный список, то советуем заглянуть на сайт Ghostscript -- возможно поддержка для вашего принтера всё таки существует, хотя и не включена в стандартную поставку.
3.4.2 Просмотрщики Ghostscript
Интерфейс к Ghostscript сделан очень простым, поэтому сразу несколько разработчиков создали программы для просмотра PostScript, которые используют Ghostscript. Такие программы позволяют выбирать нужный файл для просмотра, показывать его с разным увеличением, печатать на принтер. В документации к этим продуктам содержатся дополнительные детали.
X11
- Ghostview. Доступен по адресу: https://www.cs.wisc.edu/~ghost/gv/
- gv. Создан на основе Ghostview. Доступен по адресу: https://wwwthep.physik.uni-mainz.de/~plass/gv/
Копии программы, возможно не самые последние, также хранятся по адресу: https://www.cs.wisc.edu/~ghost/gv/
OpenVMS
- Вроде бы теперь поддерживается в основном коде (не проверялось). Посетите страницу: https://wwwthep.physik.uni-mainz.de/~plass/gv/
Windows и OS/2
- GSview. Доступен по адресу: https://www.cs.wisc.edu/~ghost/gsview/
DOS
- ps_view. Доступен по адресу: ftp://ftp.pg.gda.pl/pub/TeX/support/ps_view/ ftp://ftp.dante.de/tex-archive/support/ps_view/
Linux
- GSview. Версия популярного на Windows и OS/2 просмотрщика для Linux. Доступен по адресу: https://www.cs.wisc.edu/~ghost/gsview/
- BMV. Отличается от Ghostview и gv тем, что вместо X использует svgalib. Доступен по адресу: ftp://sunsite.unc.edu/pub/Linux/apps/graphics/viewers/svga/bmv-1.2.tgz
3.4.3 PSUtils
PSUtils это набор утилит для работы с документами на языке PostScript. Доступны как исходные тексты, так и скомпилированные исполняемые файлы, причём для широкого спектра платформ. Загрузить PSUtils можно по адресу: https://knackered.org/angus/psutils
В частности, PSUtils включают:
psnup
- Конвертирует файлы PS для печати двойным, четверным и т.д. блокомpsselect
- Позволяет выбрать диапазон и порядок страниц при печатиpsresize
- Изменяет размер бумагиpsbook
- Изменяет порядок страниц и их раскрой для печати книги
Вывод одной из этих программ можно использовать в качестве ввода для другой, что позволяет организовать создание сложных документов.
ПЕЧАТЬ ДВОЙНИКОМ, ЧЕТВЕРИКОМ И Т.Д.
Утилита psnup получает на входе файл PostScript, созданный в Vim и преобразует его для печати двойником, четвериком и т.д. Самый простой способ создания двойного блока состоит в создании оригинального файла PostScript по команде:
:hardcopy > test.ps
и выполнения следующей команды из оболочки:
psnup -n 2 test.ps final.ps
Замечание: файлы, созданные psnup, могут приводить к появлению предупреждений от некоторых просмотрщиков Ghostscript - их можно смело игнорировать.
Наконец, файл final.ps можно отправить на принтер PostScript при помощи системной команды печати. После печати вы можете удалить оба файла PostScript, если в них больше нет необходимости. Для выполнения этих задач автоматически можно настроить опцию 'printexpr'.
АЛЬТЕРНАТИВНАЯ ДУПЛЕКСНАЯ ПЕЧАТЬ
При помощи утилиты psselect можно эмулировать режим дуплексной печати. Эта утилита имеет возможность указывать ключи -e и -o для печати только чётных или нечётных страниц файла PS.
Прежде всего необходимо создать PS с помощью команды 'hardcopy', затем можно сгенерировать файлы, содержащие только чётные и только нечётные страницы:
psselect -o test.ps odd.ps
psselect -e test.ps even.ps
Далее, следует напечатать файл с нечётными страницами, odd.ps, обычной командой печати. Затем напечатанные страницы переворачиваются и помещаются назад в лоток бумаги принтера, после чего печатается файл even.ps. Чётные страницы будут напечатаны на обратной стороне нечётных страниц.
При этом следует помнить о следующих моментах:
-
Положение первой страницы. Если первая страницы находится наверху после печати нечётных страниц, то вам необходимо изменить порядок, в котором печатаются чётные страницы. Программа psselect позволяет это сделать с помощью ключа -r. Благодаря этому страница 2 будет напечатана на обороте страницы 1.
Замечание: лучше менять порядок нечётных страниц, чем чётных, если в первоначальном файле PS нечётное количество страниц.
- Переворачивание бумаги. При переворачивании бумаги с напечатанными нечётными страницами вам потребуется перевернуть их либо по горизонтали (вдоль длинной стороны), либо по вертикали (вдоль короткой стороны), а также, возможно, на 180 градусов. Это зависит от модели принтера, который вы используете - смысл операции более понятен на струйном принтере, чем на лазерном, где бумажный тракт не виден извне.
3.5 Символы протяжки бумаги
По умолчанию, Vim никак не обрабатывает символы протяжки бумаги |formfeed|. Чтобы Vim распознавал эти символы и продолжил печать строки, в которой имеется такой символ, с новой страницы, необходимо включить элемент "formfeed" в значение опции 'printoptions'. Символы протяжки бумаги позволяют управлять разбивкой на страницы, но при этом следует помнить о нескольких вещах.
Vim всегда будет начинать печать строку (включая номер строки, если нумерация строк включена), содержащую символ протяжки бумаги, на новой странице. Это значит, что если символ протяжки бумаги находится в первой строке на странице, то Vim напечатает пустую страницу.
Поскольку номер строки печатается в начале строки, содержащей символ протяжки бумаги, то оставшаяся часть строки, которая будет напечатана на новой странице, не будет иметь номера строки (то же касается и длинных строк, перенесённых с помощью флага "wrap" в значении опции 'printoptions'.
Если символ протяжки бумаги является последним символом на строке, то печать будет продолжена на второй строке новой страницы, а не на первой. Это связано с алгоритмом обработки конца строки после символа протяжки бумаги, который используется в Vim, в котором для продолжения печати строка смещается вниз.
По перечисленным выше причинам рекомендуется отключить печать нумерации строк при включённом распознавании символов протяжки бумаги, а также не помещать символы протяжки в конце строки. Даже в этом случае вам может потребоваться изменить количество строк в файле, чтобы избежать печати пустых страниц.
4. Использование Vim в качестве программы less или more
Если вы пользуетесь для просмотра файла программой less или more, то вы не сможете использовать подсветку синтаксиса. Вместо этого, вам может понравиться использовать Vim. Для этого существует сценарий оболочки "$VIMRUNTIME/macros/less.sh".
Этот сценарий использует сценарий Vim "$VIMRUNTIME/macros/less.vim". В нём устанавливаются привязки кнопок, которые имитируют команды less. Кроме того, вам также доступны команды Vim.
Данный сценарий далёк от совершенства. Например, при просмотре короткого файла Vim всё равно будет использовать полный экран. Тем не менее, он довольно удобен для работы в большинстве случаев и предоставляет возможность подсветки синтаксиса.
Кнопка "h" выдаёт краткую справку по доступным командам.