快速瀏覽和操作Buffer -- 插件: MiniBufExplorer
下載地址 [http://www.vim.org/scripts/script.php?script_id=159]
版本 6.3.2
安裝 將下載的 minibufexpl.vim文件丟到 \~/.vim/plugin 文件夾中即可
手冊 在minibufexpl.vim 文件的頭部
在編程的時候不可能永遠只編輯一個文件, 你肯定會打開很多源文件進行編輯,
如果每個文件都打開一個vim進行編輯的話那操作起來將是多麻煩啊, 所以vim有bu
ffer(緩沖區)的概念, 可以看vim的幫助:
:help buffer
vim自帶的buffer管理工具只有:ls, :bnext, :bdelete 等的命令, 既不好用,
又不直觀. 現在隆重向你推薦一款vim插件(plugin): MiniBufExplorer
使用方法:
重新啟動vim, 當你只編輯一個buffer的時候MiniBufExplorer派不上用場, 當
你打開第二個buffer的時候, MiniBufExplorer窗口就自動彈出來了, 見下圖:
上面那個狹長的窗口就是MiniBufExplorer窗口, 其中列出了當前所有已經打開
的buffer, 當你把光標置於這個窗口時, 有下面幾個快捷鍵可以用:
<Tab> 向前循環切換到每個buffer名上
<S-Tab> 向后循環切換到每個buffer名上
<Enter> 在打開光標所在的buffer
d 刪除光標所在的buffer
在命令模式下:
:bn 打開當前buffer的下一個buffer
:bp 打開當前buffer的前一個buffer
:b"num" 打開指定的buffer,"num"指的是buffer開始的那個數字,比如上圖,我想打開list_audit.erb,輸入:b7就ok了
以下的兩個功能需要在~/.vimrc中增加:
let g:miniBufExplMapCTabSwitchBufs = 1
<C-Tab> 向前循環切換到每個buffer上,並在但前窗口打開
<C-S-Tab> 向后循環切換到每個buffer上,並在但前窗口打開 注:MiniBufExplore默認是這兩個快捷鍵,可是在ubuntu10.04中不能使用,原因可能是bash中已經定義了ctrl+tab快捷鍵所以我們可以更換此快捷鍵
在~/.vim/plugin/minibufexpl.vim中
找到
" noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS> noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS>
noremap <C-S-TAB> :call <SID>CycleBuffer(0)<CR>:<BS>
重新定義成自己的map即可
我的為
noremap <silent> <leader>n :call <SID>CycleBuffer(1)<CR>:<BS>
noremap <silent> <leader>N :call <SID>CycleBuffer(0)<CR>:<BS>
這樣就可以用,n ,N 進行buffer切換(let mapleader = "," 我已在~/.vimrc中定義leader)
如果在~/.vimrc中設置了下面這句:
let g:miniBufExplMapWindowNavVim = 1
則可以用<C-h,j,k,l>切換到上下左右的窗口中去,就像:
C-w,h j k l 向"左,下,上,右"切換窗口.
在~/.vimrc中設置:
let g:miniBufExplMapWindowNavArrows = 1
是用<C-箭頭鍵>切換到上下左右窗口中去
以下是MiniBufExplorer的幾個命令:
:MiniBufExplorer " Open and/or goto Explorer
:CMiniBufExplorer " Close the Explorer if it's open
:UMiniBufExplorer " Update Explorer without naviting
:TMiniBufExplorer " Toggle the Explorer window open and closed
如果你用gvim的話,MiniBufExplorer會出現多個窗口的煩人問題,我一直沒能很好地解決這個問題,一般都是用:CMiniBufExplorer命令把MiniBufExplorer窗口給close掉
如果你在.vimrc(windows底下的是_vimrc)中配置了mapleader,如我的
let mapleader = "," "Set mapleader
你就可以在normal模式下用,mbc代替 :CMiniBufExplorer命令
其他命令為:
:MiniBufExplorer ,mbe
:CMiniBufExplorer ,mbc
:UMiniBufExplorer ,mbu
:TMiniBufExplorer ,mbt
推薦大家一個安裝vim插件的腳本,可以實現一個命令就把常用插件安裝好,很方便:一個具有類似於IDE功能的容易安裝的VIM
MiniBufExplorer現在是vim默認安裝的插件了吧。
記住幾個常用的命令(從SO上學來的):
- :e <filename> 打開文件
- :ls 當前打開的buf
- :bn 下一個buf
- :bp 前一個buf
- :b<n> n是數字,第n個buf
- :b<tab> 自動補齊
- :bd 刪除buf