2011-12-24 19 views
4

这可能是一个奇怪的问题,但仍然存在。我用cat显示在bash(KDE的Konsole)的文件,使用Vim“着色”文件或输入流

cat foobar.rb 

现在,我想使用Vim根据你会得到什么colourize该foobar.rb文件时,你在Vim开始foobar.rb。编辑:但仅用于显示目的,在终端上。

我不确定这是可能的,但是我认为如果我可以使用Vim,它会很整洁。

我真的只想要colourized关键字,而Vim有完美的颜色定义。

所以我认为结合这将是伟大的。

尽管在Vim中这是可能的吗?

+0

你真的只是想转储文件到控制台,或做你想做的例如设施“少”(例如,上下翻页的能力)? – 2011-12-24 20:07:06

回答

2

一种方法是使用库,如Pygments,这是一个通用的语法高亮显示。你可以编写一个名为ccat的包装器,或者将语法突出显示应用到输入文件并写入标准输出的东西。

如果您想在突出显示的文件中上下翻页,可以使用less-R开关,该开关将控制字符直接传递到终端,以保留颜色。所以:

ccat file.rb | less -R 

但是在那一点上,你几乎在view的能力。

2

我不确定我是否正确理解您的问题,但如果您只是在寻找能够给您输入文件(如猫)的只读视图但带有彩色关键字的命令,请使用viewview是以只读模式启动vim的替代方式,因此您可以使用所有语法高亮显示。从vim手册页:

view  Start in read-only mode. You will be protected from writing 
      the files. Can also be done with the "-R" argument. 

    gvim gview 
      The GUI version. Starts a new window. Can also be done with 
      the "-g" argument. 

    evim eview 
      The GUI version in easy mode. Starts a new window. Can also 
      be done with the "-y" argument. 

    rvim rview rgvim rgview 
      Like the above, but with restrictions. It will not be possi- 
      ble to start shell commands, or suspend Vim. Can also be 
      done with the "-Z" argument. 

我一直在安装vim的系统上看过视图。

+0

哦,我明白了!从来没有听说过。 – shevy 2011-12-24 21:25:10

1

最接近的是less脚本附带vim:

cat myfile | vim -u /usr/share/vim/vim72/macros/less.vim - 

注意-参数VIM。您可能需要将vim72更改为您的版本(如果您将其安装在其他地方,则可以使用整个路径)

现在,这不完全是您想要的,因为它的行为类似于less,因为您必须按下键使其向下滚动或完成。但是,他们比平常更简洁。例如,空间向下滚动;和q退出(而不是:q)。

你想要一个cat -like版本;我也是。但似乎没有一个。

编辑恩,还有一个vimpager项目,其中包括vimcat - 正是你想要的。但它不会与vim一起出现,我还没有尝试过。