更少的命令和语法突出显示

Per*_*ulf 58 less bash vim vi syntax-highlighting

我需要使用less command与语法高亮vim的命令pythonCbash等多国语言。

如何根据vim颜色应用语法高亮颜色less command

not*_*bit 51

, 的语法突出显示less在大多数 *nix 系统上都可以正常工作。

apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Run Code Online (Sandbox Code Playgroud)

在基于 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 '
Run Code Online (Sandbox Code Playgroud)

-M标志还可以方便地显示文件名和行号。

还要记住将脚本复制到您的 bin 路径中:

cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh
Run Code Online (Sandbox Code Playgroud)

更新:2019-07-24

显然,在最近的 Cygwin 安装中,您的路径中有以下文件:

source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe
Run Code Online (Sandbox Code Playgroud)

所以现在您还需要执行source-highlight-settings.exe将添加配置文件的
$HOME/.source-highlight/source-highlight.conf.

  • 这在 OSX 上对我有用:首先我安装了:`brew install source-highlight`,然后我添加了一个别名:`alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '` (2认同)

cas*_*cas 50

less 不支持语法高亮。

vim,就像所有vi克隆都有一个只读模式view,您可以使用它来查看文件。它支持 vim 的所有功能,包括语法高亮。

例如

view filename.py
Run Code Online (Sandbox Code Playgroud)

view和之间的主要区别在于vi视图不会通过创建 .swp 文件来“锁定”您正在查看的文件。

  • 嗯,我的`view` 命令似乎不支持语法高亮。我试过 `:syntax enable` 和 `:syntax on`,但我总是得到 `syntax: Not an editor command`。不过,我的 `vim` 支持突出显示。 (6认同)
  • 我可以确认@Felix 所说的,在`arch linux` 上,`view` 是指向`core/vi` 包的`/usr/bin/ex` 的符号链接。 (2认同)

Fel*_*lix 18

我倾向于不同意 Ingo,less 可以教高亮语法。在 SuperUser 上查看此答案。基本上,您必须安装 GNU 的 source-highlight(可在所有主要发行版软件包 repos 中使用),然后将以下内容添加到您的.bashrc(或您.bash_profile拥有的)中:

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "
Run Code Online (Sandbox Code Playgroud)

但是,请注意,source-highlight它不如vim的荧光笔强大。使用最适合您的任何东西。


Ing*_*kat 14

less不能教高亮语法元素,但 Vim 可以用作寻呼机,即替代less. 有更高级的插件,但基本脚本实际上与 Vim ( $VIMRUNTIME/macros/less.sh) 一起提供。有关完整信息,请参阅Vim Tips Wiki 上的将 vim 用作语法高亮分页器

  • 我很惊讶人们在发布错误答案之前甚至不打扰谷歌...... (3认同)
  • 对于问题“如何根据 vim 颜色应用语法高亮颜色以减少命令?”,答案“通过使用源突出显示”似乎比“通过使用 vim”更正确。 (3认同)
  • +1 但我确定这些评论想表达什么——甚至无法判断它们是正面的还是负面的(“......在发布错误答案之前谷歌”?,“安装 xyz 比仅仅使用更正确vim”?)。这个答案显然是“最正确的答案”。基本上 OP 不知道 vim 的这个特性存在,这个答案让 OP 知道它存在。奥卡姆剃刀 ftw。答案只能通过显示一个例子来改进,例如,`$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh` (2认同)