我需要将less command
与 vim 命令的语法突出显示一起用于python
、C
和bash
其他语言。
vim
如何根据颜色应用语法突出显示颜色less command
?
答案1
,的语法突出显示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 上,您也可以通过稍微调整 shell 脚本路径并安装来完成apt-cyg
代替apt
。
然而,使用它会大大减慢大文件的浏览速度。我建议alias
以这样的方式使用,只LESSOPEN
在需要时才实现上面的导出,如下所示:
alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '
其中-M
标志还可以方便地显示文件名和行号。
另请记住将脚本复制到您的 bin 路径中:
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
。
答案2
less
不支持语法高亮。
vim
与所有vi
克隆一样,都有一个名为“只读”的模式view
,您可以使用它来查看文件。它支持 vim 的所有功能,包括语法突出显示。
例如
view filename.py
view
和之间的主要区别vi
是视图不会通过创建 .swp 文件来“锁定”您正在查看的文件。
答案3
我倾向于不同意英戈的观点,less
能被教导突出语法。查看这个答案在超级用户上。基本上,您必须安装 GNU 的源代码突出显示(在所有主要发行版软件包存储库中都可用),然后将以下内容添加到您的.bashrc
(或.bash_profile
您拥有的)中:
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "
但请注意,它source-highlight
不如vim
的荧光笔强大。使用最适合你的东西。
答案4
在涉足上面的一些答案之后,我认为最免配置的解决方案是仅安装和使用vimpager
.
可用在 github 上,自制的,拱门(旧版本),AUR(最新),也许更多。
安装后,您应该能够立即使用,vimpager
而不是less
在 shell 中使用。
vimpager
要在其他使用的情况下使用less
,您可以更改PAGER
您的变量外壳配置 (.bashrc
等等),添加:
export PAGER=/usr/local/bin/vimpager
export MANPAGER=/usr/local/bin/vimpager
OSX 上的安装路径可能(需要?)不同,但这在 Arch Linux 上工作得很好。
然后,您可以在同一文件中将an 设置为alias
始终替换, :less
vimpager
alias less=$PAGER
(如 github 自述文件中所述)