我是一個vimer,還在用着這個上古時代的編輯器,但我並非守舊派,由於即便是 如今,vim也在不斷的創新。我用vim也有一兩年的光景了,可是我仍是不敢我本身 精通vim,固然我使用vim基本是兩個地方,一個是修改系統的配置文件,一個就是 寫Python的時候,至於用來寫Java我尚未達到這麼強大的駕馭能力。在使用Eclipse 的時候仍是感受用起來很是的不習慣,由於我須要不斷的去找鼠標,這讓我很是的彆扭。 而vim可讓我基本不用離開個人大鍵盤就完成個人編輯工做。html
相信全部使用vim的同窗都知道文件管理插件NERDTree,這個幾乎是全部擁護vim的開發人員 都會使用的插件,但是我在剛開始使用的時候,徹底用錯了這個插件,使用起來反而是 負擔了。今天就總結一下如何優雅的使用NERDTree。git
安裝插件建議使用Vundle進行安裝, Vundle的用法很簡單,能夠到GitHub上面查看。github
在NERDTree操做區的一些基本操做:vim
?: 快速幫助文檔
o: 打開一個目錄或者打開文件,建立的是buffer,也能夠用來打開書籤
go: 打開一個文件,可是光標仍然留在NERDTree,建立的是buffer
t: 打開一個文件,建立的是Tab,對書籤一樣生效
T: 打開一個文件,可是光標仍然留在NERDTree,建立的是Tab,對書籤一樣生效
i: 水平分割建立文件的窗口,建立的是buffer
gi: 水平分割建立文件的窗口,可是光標仍然留在NERDTree
s: 垂直分割建立文件的窗口,建立的是buffer
gs: 和gi,go相似
x: 收起當前打開的目錄
X: 收起全部打開的目錄
e: 以文件管理的方式打開選中的目錄
D: 刪除書籤
P: 大寫,跳轉到當前根路徑
p: 小寫,跳轉到光標所在的上一級路徑
K: 跳轉到第一個子路徑
J: 跳轉到最後一個子路徑
<C-j>和<C-k>: 在同級目錄和文件間移動,忽略子目錄和子文件
C: 將根路徑設置爲光標所在的目錄
u: 設置上級目錄爲根路徑
U: 設置上級目錄爲跟路徑,可是維持原來目錄打開的狀態
r: 刷新光標所在的目錄
R: 刷新當前根路徑
I: 顯示或者不顯示隱藏文件
f: 打開和關閉文件過濾器
q: 關閉NERDTree
A: 全屏顯示NERDTree,或者關閉全屏
以上是一些基本的用法,平時經常使用的就幾個。編輯器
在使用NERDTree的過程當中有一些不太方便的地方就是打開的過個文件 不共享NERDTree,因此就須要配合安裝一個共享插件 vim-nerdtree-tabs, 這就讓你趕忙只是打開了一個NERDTree插件
" 關閉NERDTree快捷鍵
map <leader>t :NERDTreeToggle<CR>
" 顯示行號
let NERDTreeShowLineNumbers=1
let NERDTreeAutoCenter=1
" 是否顯示隱藏文件
let NERDTreeShowHidden=1
" 設置寬度
let NERDTreeWinSize=31
" 在終端啓動vim時,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的顯示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']
" 顯示書籤列表
let NERDTreeShowBookmarks=1
開發的過程當中,咱們但願git信息直接在NERDTree中顯示出來, 和Eclipse同樣,修改的文件和增長的文件都給出相應的標註, 這時須要安裝的插件就是 nerdtree-git-pluginhtm
配置信息以下blog
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ "Unknown" : "?"
\ }
NERDTree配合使用這兩個插件文件管理就很棒了,固然若是再加上ctrlp,那就無敵了。ip
原文URL:http://www.xinxingzhao.com/blog/2016/05/15/vim-NERDTree.html開發