Pages

Thursday, September 6, 2007

Using Vim as a syntax-highlight pager

最近在 Debug 程式時總覺得之前弄出來的 output highlighter 不太夠用,雖然可以很方便標出一些關鍵字,但規則一多就得串一大堆,效率不彰。不曉得腦筋怎麼轉的,突然想到 Vim 應該可以好好利用一下...

拜了一下 google 大神果然查到 Vim 有提供 pager 的功能:

  1. Tip #121: Using vim as a syntax-highlighting pager
  2. Using vim as a syntax-highlighting pager
我把 less.sh 複製到 ~/bin/vimless 來用。接下來就是自己改一個 syntax file 來用。我直接拿 vim 內附的來改,一般會放在 <VIM>/syntax 這個目錄底下,抓一個來放在 ~/.vim/syntax 中就可以動手改了。最重要的是程式一開始要輸出 vim modline,例如:
# vim: ft=l3hdebug
這樣丟給 vim 時可以自動啟用正確的 syntax highlight rule。只要程式的 debug message 格式變化不要太複雜,基本上都可以應付。應該可以再配合 colorscheme 來設定顏色,基本上也是參考一下 <VIM>/colors 目錄底下的檔案來改就好。

接下來只要把程式的輸出重導給 ''vimless'' 就可以了:

./program | vimless
跟 vim 不同的是按 q 就可以離開,跟一般的 pager 程式很像。另外需要存檔或編輯也可以按 v 進入編輯模式;按 h 可以查看其他可用的快速鍵。


This article was originally posted on this site.

No comments:

Post a Comment