2011-12-24 24 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一起出現,我還沒有嘗試過。