CONAN ZONE

          你越掙扎我就越興奮

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks

          本節所用命令的幫助入口:

          :help netrw-browse
          :help bufexplorer
          :help winmanager 

          [文件瀏覽]

          在開發過程中,經常需要查找某個文件。我們前面在介紹path選項時,介紹過使用find命令查找文件的方法。本節介紹VIM的文件瀏覽插件。

          VIM 7.0以前,文件瀏覽功能由explorer.vim插件提供,在VIM 7.0中,這個插件被netrw.vim插件所代替。本文以VIM 7.0為例,主要介紹netrw.vim插件。

          netrw.vimVIM的標準插件,它已經伴隨VIM發行,不需要安裝。

          我們現在試一下VIM的文件瀏覽功能,當你使用VIM嘗試打開目錄時,VIM會自動調用netrw.vim插件打開該目錄(從操作系統的視角來看,目錄其實是一種特殊的文件)。例如,我們在VIM中執行命令“:e ~/src/vim70/src/,會顯示下面的窗口:


          這個窗口類似于文件管理器,你可以創建、刪除、改名文件或目錄;在目錄上按回車時,會進入該目錄;在文件上按回車時,會使用VIM打開該文件;可以更改排序方式、排序風格;隱藏目錄或文件(使之不在上述窗口中顯示)等等。

          Netrw插件中常用鍵綁定有:

          <F1>        顯示幫助
          <cr>        如果光標下為目錄,則進入該目錄;如果光標下是文件,則用VIM打開該文件
          -           返回上級目錄
          c           切換VIM的當前工作目錄為正在瀏覽的目錄
          d           創建目錄
          D           刪除文件或目錄
          i           切換顯示方式
          R           改名文件或目錄
          s           選擇排序方式
          x           定制瀏覽方式,使用你指定的程序打開該文件
           

          其它常用鍵,諸如使用書簽、隱藏符合條件的文件等,請參閱netrw幫助頁。

          上面我們用“:e ~/src/vim70/src/的方式打開netrw,我們還可以使用“:Explore”等Ex命令來打開文件瀏覽器。我的vimrc中這樣配置:

             """"""""""""""""""""""""""""""
             " netrw setting
             """"""""""""""""""""""""""""""
             let g:netrw_winsize = 30
             nmap <silent> <leader>fe :Sexplore!<cr>
           

          這樣,在我輸入“,fe”時,就會打開一個垂直分隔的窗口瀏覽當前文件所在的目錄,窗口的寬度為30

          瀏覽本地文件只是netrw插件的一項小功能,netrw插件最主要的功能是支持遠程文件讀寫。利用該插件,你可以通過ftpsshhttp等多種協議來編輯遠程文件,也可以瀏覽遠程機器的目錄。

          在軟件開發過程中不常使用此功能,本文中不再介紹。參閱netrw幫助頁獲取更多信息。

          [緩沖區瀏覽]

          在開發過程中,經常會打開很多緩沖區,尤其是使用tag文件在不同函數間跳轉時,會不知不覺打開很多文件。要知道自己當前打開了哪些緩沖區,可以使用VIM的“:lsEx命令查看。

          開發過程中,又經常需要在不同文件間跳轉。我習慣于使用“CTRL-^”來切換文件,這就需要知道文件所在的緩沖區編號。每次都使用“:ls”來找緩沖區編號很麻煩,所以我使用BufExplorer插件來顯示緩沖區的信息。

          BufExplorer插件在此處下載:

              http://vim.sourceforge.net/scripts/script.php?script_id=42

          下載后,把該文件在~/.vim/目錄中解壓縮,這會在你的~/.vim/plugin~/.vim/doc目錄中各放入一個文件:

                 plugin/ bufexplorer.vim - bufexplorer插件

                 doc/ bufexplorer.txt    - bufexplorer幫助文件

          windows用戶需要把這個插件解壓在你的$VIM/vimfiles$HOME/vimfiles目錄。

          使用下面的命令生成幫助標簽(下面的操作在VIM中進行):

          :helptags ~/.vim/doc

          然后,就可以使用“:help bufexplorer”命令查看BufExplorer的幫助文件了。

          BufExplorer功能比較簡單,這里就不做介紹了。我的vimrc里這樣設置BufExplorer插件:

             """"""""""""""""""""""""""""""
             " BufExplorer
             """"""""""""""""""""""""""""""
             let g:bufExplorerDefaultHelp=0       " Do not show default help.
             let g:bufExplorerShowRelativePath=1  " Show relative paths.
             let g:bufExplorerSortBy='mru'        " Sort by most recently used.
             let g:bufExplorerSplitRight=0        " Split left.
             let g:bufExplorerSplitVertical=1     " Split vertically.
             let g:bufExplorerSplitVertSize = 30  " Split width
             let g:bufExplorerUseCurrentWindow=1  " Open in new window.
           

          BufExplorer已經映射了幾個鍵綁定,例如,使用“,bv”就可以打開一個垂直分割窗口顯示當前的緩沖區。

          有一個稱為minibufexpl.vim的插件,也可以把緩沖區列表顯示出來,這個插件在此處下載:

              http://vim.sourceforge.net/scripts/script.php?script_id=159

          使用這個插件后,屏幕截圖看起來是這樣,最上面一個窗口就是minibuffer窗口,列出了當前打開的緩沖區:

          這個插件沒有幫助文件,參考下載頁上的說明,以及腳本代碼中的注釋來配置。

          [winmanager插件]

          winmanager插件可以把前面介紹的Explorer插件(VIM 7.0以前的文件瀏覽插件)BufExplorer插件集成在一起,我們上篇文章中介紹過的taglist插件也提供了對winmanager插件的支持。

          Winmanager插件在這里下載:

              http://vim.sourceforge.net/scripts/script.php?script_id=95

          下載后,把該文件在~/.vim/目錄中解壓縮,這會把winmanager插件解壓到~/.vim/plugin~/.vim/doc目錄中:

                 plugin/winmanager.vim – winmanager插件

                 plugin/winfileexplorer.vim  - 改良的Explorer插件

                 plugin/wintagexplorer.vim – winmanager提供的tag插件,用處不大

                 doc/winmanager.txt – 幫助文件

          仍然用“:helptags ~/.vim/doc”命令來生成幫助標簽,然后就可以使用“:help winmanager”來查看幫助了。

          使用winmanager插件可以控制各插件在VIM窗口中的布局顯示。我的vimrc中這樣設置:

             """"""""""""""""""""""""""""""
             " winManager setting
             """"""""""""""""""""""""""""""
             let g:winManagerWindowLayout = "BufExplorer,FileExplorer|TagList"
             let g:winManagerWidth = 30
             let g:defaultExplorer = 0
             nmap <C-W><C-F> :FirstExplorerWindow<cr>
             nmap <C-W><C-B> :BottomExplorerWindow<cr>
             nmap <silent> <leader>wm :WMToggle<cr> 

          g:winManagerWindowLayout變量的值定義winmanager的窗口布局,使用上面的設置,我們的窗口布局看起來是這樣的:

          左邊有兩個窗口,上面的是BufExplorer窗口,下面是taglist窗口。FileExplorer窗口和BufExplorer共用一個窗口,在BufExplorer窗口中使用“CTRL-N”可以切換到FileExplorer窗口,再使用一次則又切換回BufExplorer窗口。也就是說,在變量g:winManagerWindowLayout中,使用“,”分隔的插件,在同一個窗口中顯示,使用“CTRL-N”在不同插件間切換;使用“|”分隔的插件,則在另外一個窗口中顯示。

          在屏幕右邊的窗口則是主編輯區。

          在上面的vimrc中,還定義了三個鍵綁定,分別用于跳到左上窗口、左下窗口,以及顯示/關閉winmanager窗口。

          :安裝后,如果未設置g:winManagerWindowLayout變量,winmanager插件需要與BufExplorer插件一起才能使用。所以需要下載BufExplorer

          http://vim.sourceforge.net/scripts/script.php?script_id=1440有一個winmanager插件的修改版本,如果在FileExplorer中打開文件時,它會使用與該文件相關聯的程序來打開該文件,而不是使用VIM。我沒有使用過這個插件,有興趣你可以試試。

          來自:http://blog.csdn.net/easwy/archive/2007/03/09/1525554.aspx

          posted on 2009-04-08 21:47 CONAN 閱讀(422) 評論(0)  編輯  收藏 所屬分類: VIM
          主站蜘蛛池模板: 离岛区| 通山县| 收藏| 喀什市| 精河县| 耒阳市| 滕州市| 新晃| 大石桥市| 衡山县| 阿坝县| 神木县| 耿马| 雷山县| 大竹县| 呼图壁县| 安达市| 读书| 江油市| 泰安市| 菏泽市| 望都县| 高台县| 祁阳县| 闵行区| 元阳县| 四子王旗| 治多县| 西乌珠穆沁旗| 图片| 无锡市| 米易县| 正蓝旗| 建德市| 湟源县| 柳林县| 新蔡县| 崇阳县| 翁源县| 伊宁县| 麻栗坡县|