Vim распечатать файл на терминале и выйти


12

Я хотел бы, чтобы vim сделал это, чтобы выделить синтаксис, настроенный в vim (или без необходимости в дополнительных инструментах). Поэтому вместо того, чтобы использовать, cat file | <some_sh_tool>я бы использовал vim +"some_opts" +"..." +q file. Проблема в том, что vim восстанавливает предыдущий экран при выходе, но с помощью некоторых инструментов удаленного доступа этого не произошло, поэтому он работал в основном как cat с подсветкой синтаксиса.

Так возможно ли это?

РЕДАКТИРОВАТЬ

Думая об этом больше, я думаю, что это здорово. Помимо подсветки синтаксиса, при отображении содержимого файла могут использоваться и другие функции vim, такие как номера строк, пробелы, переносы и т. Д., Особенно в скрипте, а также потому, что vim вездесущ.


2
использовать экран GNU.
Иордания

1
это не совсем то же самое, вы не можете использовать его в скрипте, кроме того, иногда вы не можете выбирать.
майкинетор

1
Возможный дубликат: stackoverflow.com/questions/13408134/…
echristopherson

Ответы:


9

Вы можете отключить альтернативный экран, сказав, что код для его включения для этого терминала является пустой строкой, например:

vim --cmd 'set t_ti= t_te=' ...

Но вы обнаружите, что вам нужно больше. Пытаться:

vim --cmd 'set t_ti= t_te=' +redraw +q file

как начало.


Может потребоваться объяснить, как создать псевдоним для последней команды.
cjh

@cjh: это зависит от оболочки пользователя.
Bananguin

1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'тогда просто бегиcatx infile
Рахул Патил

Вы также можете добавить +"colo colorscheme"до +redraw.
Петер

2
Фигово. Он покажет первую страницу и выйдет. Мне нужно, чтобы показать все линии. Добавление + $ перед перерисовкой показывает только первую и последнюю страницы.
majkinetor

2

Возможно, вы захотите взглянуть enscript- он имеет стили подсветки синтаксиса для нескольких языков и предназначен для использования в качестве фильтра, а вывод не ограничен только последовательностями escape-форматирования ANSI - он также может выводить PostScript, HTML или RTF.


1
Я уже настроил vim так, как мне нужно - цвета, языки и т. Д. Некоторые функции sh для редких языков настраиваются индивидуально - Csound, AutoHotKey и т. Д. Я не буду снова писать файлы конфигурации для другого инструмента.
майкинетор

@majkinetor уверен, все зависит от того, для чего именно вы хотите его использовать.
Петер

2

Я нашел именно то, что мне нужно, в пакете под названием vimpager .

Он поставляется с утилитой vimcat.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.