这可能是一个奇怪的问题,但仍然存在。我使用cat
以bash(KDE Konsole)显示文件,
cat foobar.rb
现在,我想根据你在Vim中启动foobar.rb
时得到的内容,使用Vim对foobar.rb
文件进行着色。编辑:但仅用于显示目的,在终端上。
我不确定这是可能的,但我认为如果我可以使用Vim那将是很好的。
我真的只想要着色的关键词,Vim有完美的色彩定义。
所以我认为结合这个会很棒。
这是否可以在Vim开箱即用?
答案 0 :(得分:2)
一种方法是使用诸如Pygments之类的库,这是一种通用语法高亮显示器。您可以编写一个名为ccat
的包装器,或者将语法突出显示应用于输入文件并写入stdout的东西。
如果要在突出显示的文件中向上和向下翻页,可以使用less
和-R
开关,将控制字符直接传递到终端,保留颜色。所以:
ccat file.rb | less -R
但在那时,你几乎完全具备view
的能力。
答案 1 :(得分:2)
我不确定我是否正确理解了您的问题,但如果您只是在寻找能够为您提供输入文件(如cat)的只读视图但使用彩色关键字的命令,请使用{{1 }}。 view
是以只读模式启动view
的另一种方法,因此您可以使用所有语法突出显示功能。从vim手册页:
vim
我一直看到有关安装了vim的系统的视图。
答案 2 :(得分:1)
最近的是vim附带的less
脚本:
cat myfile | vim -u /usr/share/vim/vim72/macros/less.vim -
注意vim的-
参数。您可能需要将vim72
更改为您的版本(如果您将其安装在其他位置,则可以更改整个路径)
现在,这并不是你想要的,因为它的行为是less
- 就像你需要按键使其向下滚动或完成一样。但是,它们比通常的vim更简洁。例如, space 向下滚动;和 q 退出(不是:q
)。
你想要一个类似cat
的版本;我也是。但似乎没有一个。
编辑呃,还有一个vimpager
项目,其中包含vimcat
- 正是您想要的。但它没有vim,我还没有尝试过。