2007年10月7日 星期日

Vim - Quickfix Window


平常用到 Quickfix Window 是什麼時候呢? 當你用 :make , :vimgrep 之類的指令時,產生的結果會顯示在另外一個新開的視窗,這個視窗就是 Quickfix,要自己叫出來就得用 :copen , :cclose , :clist 這類指令叫出來,但是 vim 並未提供 toggle 的指令,所以我們必須自己來。設定如下:
" QUICKFIX WINDOW
command -bang -nargs=? QFix call QFixToggle(<bang>0)
function! QFixToggle(forced)
if exists("g:qfix_win") && a:forced == 0
cclose
unlet g:qfix_win
else
copen 10
let g:qfix_win = bufnr("$")
endif
endfunction
nnoremap <leader>q :QFix<CR>
最後一行的 leader - q 就是透過一個快捷加上你的功能鍵來呼叫指令,leader 一般預設是 \ ,所以只要鍵入 \q 便可以叫出或關閉 Quickfix Window。而 copen 10 代表的是開啟 10 行高的 Quickfix Window。