Используйте Vim для «окраски» файлов или входных потоков - PullRequest
4 голосов
/ 25 декабря 2011

Это может быть странный вопрос, но все же.Я использую cat для отображения файла в bash (KDE Konsole),

cat foobar.rb

Теперь я хотел бы использовать Vim для окрашивания этого foobar.rb файла в соответствии с тем, что вы получите при запуске foobar.rb в Vim.Редактировать: Но только для отображения на терминале.

Я не уверен, что это возможно, но я подумал, что было бы здорово, если бы я мог использовать Vim для этого.

Я действительно простоЯ хочу использовать цветные ключевые слова, и у Vim есть идеальные определения цвета.

Так что я подумал, что это было бы здорово, сочетать это.

Возможно ли это в Vim "из коробки"?

Ответы [ 3 ]

2 голосов
/ 25 декабря 2011

Я не уверен, правильно ли я понимаю ваш вопрос, но если вы ищете только команду, которая даст вам только для чтения представление входного файла (например, cat), но с цветными ключевыми словами, используйте view,view - это альтернативный способ запуска vim в режиме только для чтения, поэтому у вас есть все возможности подсветки синтаксиса.Со страницы руководства vim:

   view      Start  in read-only mode.  You will be protected from writing
             the files.  Can also be done with the "-R" argument.

   gvim gview
             The GUI version.  Starts a new window.  Can also be done with
             the "-g" argument.

   evim eview
             The GUI version in easy mode.  Starts a new window.  Can also
             be done with the "-y" argument.

   rvim rview rgvim rgview
             Like the above, but with restrictions.  It will not be possi-
             ble  to  start  shell  commands, or suspend Vim.  Can also be
             done with the "-Z" argument.

Я всегда видел представление о системах, в которых установлен vim.

2 голосов
/ 25 декабря 2011

Один из подходов заключается в использовании библиотеки, такой как Pygments , которая является подсветкой синтаксиса общего назначения. Вы можете написать оболочку с именем ccat или что-то, что применило бы подсветку синтаксиса к входному файлу и написать в stdout.

Если вы хотите перемещаться вверх и вниз по выделенному файлу, вы можете использовать less с переключателем -R, который передает управляющие символы напрямую в терминал, сохраняя цвета. Итак:

ccat file.rb | less -R

Но в этот момент вы в значительной степени обладаете возможностями view.

1 голос
/ 13 января 2013

Ближайшим является скрипт less, который поставляется с vim:

cat myfile | vim -u /usr/share/vim/vim72/macros/less.vim -

Обратите внимание на аргумент - для vim.Возможно, вам придется изменить vim72 на вашу версию (и весь путь, если он установлен в другом месте)

Теперь это не совсем то, что вам нужно, потому что его поведение less -подобно, в том, что вы должны нажать клавиши, чтобы прокрутить вниз или завершить.Тем не менее, они короче, чем обычно Vim.Например, пробел для прокрутки вниз;и q для выхода (не :q).

Вы хотите cat -подобную версию;я тоже.Но, похоже, его нет.

EDIT э-э, есть также проект vimpager, который включает vimcat - именно то, что вы хотите.Но это не входит в vim, и я еще не пробовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...