Мне нужно использовать less command
с подсветкой синтаксиса команды VIM для python
, C
, bash
и других языков.
Как применить цвета подсветки синтаксиса в соответствии с vim
цветами для less command
?
Мне нужно использовать less command
с подсветкой синтаксиса команды VIM для python
, C
, bash
и других языков.
Как применить цвета подсветки синтаксиса в соответствии с vim
цветами для less command
?
Ответы:
Подсветка синтаксиса less
, прекрасно работает на большинстве * nix систем.
apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '
На дистрибутивах, основанных на Fedora / RedHat, используйте /usr/bin/src-hilite-lesspipe.sh
вместо этого.
Даже в Cygwin вы можете сделать это с небольшой настройкой пути сценария оболочки и установкой apt-cyg
вместо apt
.
Однако, использование этого резко замедляет просмотр больших файлов. Я предлагаю использовать alias
таким образом, чтобы реализовать LESSOPEN
экспорт только при необходимости, например так:
alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '
где -M
флаг удобен также для отображения имени файла и номера строки.
Также не забудьте скопировать скрипт в ваш путь к бину:
cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh
ОБНОВЛЕНИЕ: 2019-07-24
По-видимому, в более поздних установках Cygwin у вас есть следующие файлы на вашем пути:
source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe
Итак , теперь вы также должны выполнить команду , source-highlight-settings.exe
которая добавит конфигурационный файл:
$HOME/.source-highlight/source-highlight.conf
.
brew install source-highlight
затем я добавил псевдоним:alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
less
не поддерживает подсветку синтаксиса.
vim
Как и у всех vi
клонов, есть режим только для чтения, view
который можно использовать для просмотра файлов. он поддерживает все функции vim, включая подсветку синтаксиса.
например
view filename.py
Основное различие между view
и vi
заключается в том, что представление не «блокирует» просматриваемый файл, создавая файл .swp.
view command
radare package
view
команда не поддерживает подсветку синтаксиса. Я пробовал :syntax enable
и :syntax on
, но я всегда получаю syntax: Not an editor command
. Мои vim
поддерживает подсветку, хотя.
vi
лайк nvi
или elvis
установлен? проверьте /usr/bin/view
- в моей системе Debian это символическая ссылка, /etc/alternatives/view
которая, в свою очередь, является символической ссылкой на /usr/bin/vim.basic
.
/usr/bin/ex
, которой, как ни странно, владеет vi
пакет.
arch linux
view
это символическая ссылка на /usr/bin/ex
из core/vi
пакета.
less
нельзя научить выделять элементы синтаксиса, но Vim может использоваться как пейджер, то есть замена less
. Есть более продвинутые плагины, но базовый скрипт на самом деле поставляется с Vim ( $VIMRUNTIME/macros/less.sh
). Для получения полной информации см. Использование vim как пейджера с подсветкой синтаксиса в Vim Tips Wiki.
less
то, что делает подсветку; но у Vim действительно есть эта возможность.
$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
Я склонен не соглашаться с Инго, less
можно научить выделять синтаксис. Проверьте этот ответ на SuperUser. По сути, вы должны установить GNU source-highlight (доступно во всех основных дистрибутивах пакетов дистрибутивов), а затем добавить следующее .bashrc
( .bash_profile
или что у вас есть):
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "
Тем не менее, обратите внимание, что source-highlight
это не так мощно, как vim
подсветка. Используйте то, что подходит вам больше всего.