vim 多個文件切換 :b 命令


 

快速瀏覽和操作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上,並在但前窗口打開&nbsp;  注:MiniBufExplore默認是這兩個快捷鍵,可是在ubuntu10.04中不能使用,原因可能是bash中已經定義了ctrl+tab快捷鍵所以我們可以更換此快捷鍵

在~/.vim/plugin/minibufexpl.vim中

找到

" &nbsp;noremap <C-TAB> &nbsp; :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&nbsp;&nbsp; :call <SID>CycleBuffer(1)<CR>:<BS>

noremap <silent> <leader>N&nbsp; :call <SID>CycleBuffer(0)<CR>:<BS>

這樣就可以用,n&nbsp; ,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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM