有没有办法对我在 Less 中看到的文件进行语法高亮?
实际上我正在使用此命令打开一个 xml 文件(有时是一系列文件)
less htmleditors/htmleditors_config.xml
或者
less [multiple files]
我想继续使用 Less(以便更好地学习该程序并利用我对 :n 和 :p 的了解进行下一个/上一个导航)
但它也需要某种基本的语法突出显示 - 至少以不同的方式显示注释。你知道有什么办法吗?
答案1
您可以使用GNU 的源代码突出显示, 如图所示这里(路径可能不同,见下文):
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '
从 Debian Stretch 和 Fedora 25 开始,包名称和脚本路径有所不同
Debian:
sudo apt install libsource-highlight-common source-highlight dpkg -L libsource-highlight-common | grep lesspipe # /usr/share/source-highlight/src-hilite-lesspipe.sh
Fedora:
sudo dnf install source-highlight rpm -ql source-highlight | grep lesspipe # /usr/bin/source-highlight/src-hilite-lesspipe.sh
答案2
先前两个答案中最好的一个:您可以通过按 从 less 中调用系统默认编辑器v。
答案3
pygmentize somefile.ex | less -R
或者
function cless () {
pygmentize -f terminal "$1" | less -R
}
Pygmentize 是Pygments Python 语法精简版。
答案4
我认为你应该使用文本编辑器。我自己喜欢 vim。它会在查看文件时给你带来很多功能,然后当你想编辑它们时,你已经掌握了基础知识。
以下是使用文本编辑器(特别是 vim)的一些优点:
- 语法高亮
- 强大的运动命令
- 寻找
- 跳转到文件中的特定位置(称为标记)
- 折叠(当你只想查看函数 stubbs 时很有用)
要以只读模式打开文件,请使用以下命令:
vim -R <file name>
以下是基本的导航指南:
j - move down one line
k - move up one line
h - left one char
l -right one char
ctrl-f - forward one page
ctrl-b - back one page
/<something> - search for something
n - next of whatever you searched for
N - next (search backwards) of whatever you searched for
:q - quit
:q! - quit without saving
:w - save
以下链接提供了更多信息:
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
简单回顾一下,如果你要使用 unix vim,它就是非常基础的。我听说学习 vim 就像学习打字一样。它是编程中你可以学习的第二有用的工具。
(为了避免编辑器之争,你也可以研究一下 emacs 或其他编辑器,不过我亲自更喜欢 vim)