摘要:一個(gè)項(xiàng)目文件多起來(lái)時(shí),左邊的文件樹(shù)菜單是必要的。即使有相關(guān)的方法控制這些,只是作為一個(gè)文件菜單來(lái)說(shuō),這也太麻煩了。刷新正常下是不會(huì)自動(dòng)刷新的,文件刪除了,多了都不會(huì)自動(dòng)顯示。
一個(gè)項(xiàng)目文件多起來(lái)時(shí),左邊的文件樹(shù)菜單是必要的。
參考:常用文件樹(shù)快捷鍵
所有命令及推薦鍵盤(pán)映射:官方
在vundle插件管理的方式,直接在~/.vimrc中的Plugin段落中加入`Plugin "scrooloose/nerdtree
"然后重啟Vim并輸入PluginInstall`,即可完成安裝
然后輸入: NERDTreeToggle即可打開(kāi)文件樹(shù)。當(dāng)然,默認(rèn)是關(guān)閉的,需要每次都輸入命令打開(kāi)。
還可以設(shè)置vim快捷鍵來(lái)映射,在vimrc中加入:
map切換工作臺(tái)和目錄:NERDTreeMirror map :NERDTreeToggle
ctrl + w + h ? ?光標(biāo) focus 左側(cè)樹(shù)形目錄 ctrl + w + l ? ?光標(biāo) focus 右側(cè)文件顯示窗口 ctrl + w + w ? ?光標(biāo)自動(dòng)在左右側(cè)窗口切換 ctrl + w + r ? ?移動(dòng)當(dāng)前窗口的布局位置 o ? ? ? 在已有窗口中打開(kāi)文件、目錄或書(shū)簽,并跳到該窗口 go ? ? ?在已有窗口 中打開(kāi)文件、目錄或書(shū)簽,但不跳到該窗口 t ? ? ? 在新 Tab 中打開(kāi)選中文件/書(shū)簽,并跳到新 Tab T ? ? ? 在新 Tab 中打開(kāi)選中文件/書(shū)簽,但不跳到新 Tab i ? ? ? split 一個(gè)新窗口打開(kāi)選中文件,并跳到該窗口 gi ? ? ?split 一個(gè)新窗口打開(kāi)選中文件,但不跳到該窗口 s ? ? ? vsplit 一個(gè)新窗口打開(kāi)選中文件,并跳到該窗口 gs ? ? ?vsplit 一個(gè)新 窗口打開(kāi)選中文件,但不跳到該窗口 ! ? ? ? 執(zhí)行當(dāng)前文件 O ? ? ? 遞歸打開(kāi)選中 結(jié)點(diǎn)下的所有目錄 m ? ?文件操作:復(fù)制、刪除、移動(dòng)等切換標(biāo)簽頁(yè)
:tabnew [++opt選項(xiàng)] [+cmd] 文件 ? ? ?建立對(duì)指定文件新的tab :tabc ? 關(guān)閉當(dāng)前的 tab :tabo ? 關(guān)閉所有其他的 tab :tabs ? 查看所有打開(kāi)的 tab :tabp ? 前一個(gè) tab :tabn ? 后一個(gè) tab 標(biāo)準(zhǔn)模式下: gT ? ? ?前一個(gè) tab gt ? ? ?后一個(gè) tab剛開(kāi)始使用時(shí)候的小問(wèn)題
目前問(wèn)題是,不能保存所有打開(kāi)文件的狀態(tài)。在同一個(gè)tab中打開(kāi)另一個(gè)文件時(shí),之前文件的編輯歷史都會(huì)丟失,也就是沒(méi)法u撤銷(xiāo)編輯。即使有相關(guān)的方法控制這些,只是作為一個(gè)文件菜單來(lái)說(shuō),這也太麻煩了。
解決方案:
文件都在新tab打開(kāi),這樣就可以保持各自狀態(tài)了。
autocmd vimenter * NERDTree ?"自動(dòng)開(kāi)啟Nerdtree "let g:NERDTreeWinSize = 25 "設(shè)定 NERDTree 視窗大小 "開(kāi)啟/關(guān)閉nerdtree快捷鍵 mapNerdtree隱藏某些指定文件:NERDTreeToggle "let NERDTreeShowBookmarks=1 ?" 開(kāi)啟Nerdtree時(shí)自動(dòng)顯示Bookmarks "打開(kāi)vim時(shí)如果沒(méi)有文件自動(dòng)打開(kāi)NERDTree autocmd vimenter * if !argc()|NERDTree|endif "當(dāng)NERDTree為剩下的唯一窗口時(shí)自動(dòng)關(guān)閉 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif "設(shè)置樹(shù)的顯示圖標(biāo) let g:NERDTreeDirArrowExpandable = "?" let g:NERDTreeDirArrowCollapsible = "?" let NERDTreeIgnore = [".pyc$"] ?" 過(guò)濾所有.pyc文件不顯示 "let g:NERDTreeShowLineNumbers=1 ?" 是否顯示行號(hào) let g:NERDTreeHidden=0 ? ? "不顯示隱藏文件 "Making it prettier let NERDTreeMinimalUI = 1 let NERDTreeDirArrows = 1
Vim經(jīng)常產(chǎn)生swp緩存文件,還有一些python產(chǎn)生的pyc文件,Nerdtree顯示出來(lái)很不好看,最好屏蔽掉。
在vimrc中配置這幾句話可以達(dá)到效果:
" 不顯示隱藏文件 let g:NERDTreeHidden=0 " 過(guò)濾: 所有指定文件和文件夾不顯示 let NERDTreeIgnore = [".pyc$", ".swp", ".swo", ".vscode", "__pycache__"] ?
恢復(fù)顯示隱藏的文件的命令,在Nerdtree中按Ctrl-I,其中I是大寫(xiě)。
Nerdtree刷新正常下Nerdtree是不會(huì)自動(dòng)刷新的,文件刪除了,多了都不會(huì)自動(dòng)顯示。
但是其實(shí)不用退出vim,
按r就一下子刷新了。
用多了Vim,就需要nerdtree樹(shù)形菜單,用多了菜單,就像把它美化。
一般最常用的美化Nerdtree插件就是vim-devicons,詳細(xì)配置方法在github官網(wǎng)有,主要如下:
安裝 Nerd Font字體,網(wǎng)址在此。安裝字體的方法每個(gè)電腦系統(tǒng)不一樣。因?yàn)槿孔煮w多到3G,所以最快到方法是到官網(wǎng)首頁(yè)點(diǎn)擊Download,下載Droid Sans Mono Nerd這個(gè)字體,8M左右,下載好了如果是Mac的話,就選擇壓縮包里的Droid Sans Mono Nerd Font Complete.otf,雙擊安裝。
在Terminal.app或iTerm2的系統(tǒng)設(shè)置里,設(shè)置字體為Droid Sans Mono Nerd。
在~/.vimrc中插件管理處加入Plugin "ryanoasis/vim-devicons",重啟vim然后:PluginInstall進(jìn)行下載安裝。
在~/.vimrc中配置默認(rèn)編碼set encoding=utf8和默認(rèn)字體set guifont=DroidSansMono_Nerd_Font:h11
完成。
然后就會(huì)變成這個(gè)樣子:
vim-nerdtree-syntax-highlight插件是配合上面vim-devicons插件增強(qiáng)的。直接在vimrc中Plugin "tiagofumo/vim-nerdtree-syntax-highlight",重啟并:PluginInstall即可。效果如下:
注意:安裝完vim-devicons后,vim速度已經(jīng)有些許延遲了,再安裝這個(gè)插件會(huì)感受到更明顯的延遲。
最終配置插件管理器處:
? ? ? ? "? ? ? ? ? ? Plug "scrooloose/nerdtree" ? ? ? ? ?" File tree manager ? ? ? ? ? ? Plug "jistr/vim-nerdtree-tabs" ? ? ?" enhance nerdtree"s tabs ? ? ? ? ? ? Plug "ryanoasis/vim-devicons" ? ? ? " add beautiful icons besides files ? ? ? ? ? ? Plug "Xuyuanp/nerdtree-git-plugin" ?" display git status within Nerdtree ? ? ? ? ? ? Plug "tiagofumo/vim-nerdtree-syntax-highlight" " enhance devicons
配置:
"-------------------{ ">> Basic settings let g:NERDTreeChDirMode = 2 "Change current folder as root autocmd BufEnter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) |cd %:p:h |endif ">> UI settings let NERDTreeQuitOnOpen=1 " Close NERDtree when files was opened let NERDTreeMinimalUI=1 " Start NERDTree in minimal UI mode (No help lines) let NERDTreeDirArrows=1 " Display arrows instead of ascii art in NERDTree let NERDTreeChDirMode=2 " Change current working directory based on root directory in NERDTree let g:NERDTreeHidden=1 " Don"t show hidden files let NERDTreeWinSize=30 " Initial NERDTree width let NERDTreeAutoDeleteBuffer = 1 " Auto delete buffer deleted with NerdTree "let NERDTreeShowBookmarks=0 " Show NERDTree bookmarks let NERDTreeIgnore = [".pyc$", ".swp", ".swo", "__pycache__"] " Hide temp files in NERDTree "let g:NERDTreeShowLineNumbers=1 " Show Line Number " Open Nerdtree when there"s no file opened "autocmd vimenter * if !argc()|NERDTree|endif " Or, auto-open Nerdtree "autocmd vimenter * NERDTree " Close NERDTree when there"s no other windows autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif " Customize icons on Nerdtree let g:NERDTreeDirArrowExpandable = "?" let g:NERDTreeDirArrowCollapsible = "?" ">> NERDTREE-GIT " Special characters let g:NERDTreeIndicatorMapCustom = { "Modified" : "?", "Staged" : "?", "Untracked" : "?", "Renamed" : "?", "Unmerged" : "═", "Deleted" : "?", "Dirty" : "?", "Clean" : "??", "Ignored" : "?", "Unknown" : "?" } ">> NERDTree-Tabs "let g:nerdtree_tabs_open_on_console_startup=1 "Auto-open Nerdtree-tabs on VIM enter ">> Nerdtree-devicons "set guifont=DroidSansMono_Nerd_Font:h11 ">> Nerdtree-syntax-highlighting "let g:NERDTreeDisableFileExtensionHighlight = 1 "let g:NERDTreeDisableExactMatchHighlight = 1 "let g:NERDTreeDisablePatternMatchHighlight = 1 "let g:NERDTreeFileExtensionHighlightFullName = 1 "let g:NERDTreeExactMatchHighlightFullName = 1 "let g:NERDTreePatternMatchHighlightFullName = 1 "let g:NERDTreeHighlightFolders = 1 " enables folder icon highlighting using exact match "let g:NERDTreeHighlightFoldersFullName = 1 " highlights the folder name "let g:NERDTreeExtensionHighlightColor = {} " this line is needed to avoid error " }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25024.html
摘要:我在配置文件的第一行添加上這樣的配置插件改變了原先只能把插件全部扔到目錄下的操作方式,使得各個(gè)插件可以以一個(gè)獨(dú)立的文件夾存在于目錄中,添加和刪除插件都變的非常清爽。 首先推薦 簡(jiǎn)明Vim練級(jí)攻略 學(xué)習(xí)Vim的使用。 以前我的vim是這樣配置的(參見(jiàn) 我在博客園的博客),但是感覺(jué)安裝的插件數(shù)量太少,而且將所有的都寫(xiě)在一個(gè)配置文件里面不好管理,所以現(xiàn)在想在一般的配置的基礎(chǔ)上,找一些好的插件...
摘要:的強(qiáng)大不僅體現(xiàn)在各種高效的操作,更有各種高端大氣上檔次的插件。安裝在文件中配置安裝插件只要在的模式下輸入這個(gè)命令,就會(huì)很帥氣的幫你把想要插件裝好了。還提供一些高級(jí)的查找功能。 Vim的強(qiáng)大不僅體現(xiàn)在各種高效的操作,更有各種高端大氣上檔次的插件。 Vundle 當(dāng)你安裝了一定數(shù)量的插件以后,就遇到了怎么去管理插件的問(wèn)題了。在這里推薦我覺(jué)得最好的插件管理工具Vundle。 安裝 ...
摘要:環(huán)境安裝使用前往下載壓縮包,解壓,將和文件夾與目錄下的同名文件夾合并即可。 環(huán)境 Ubuntu12.04 vim:Version 7.3.429 安裝使用 前往github:nerdtree下載NerdTrss壓縮包,解壓,將plugin和doc文件夾與~/.vim目錄下的同名文件夾合并即可。 打開(kāi)vim,輸入:NERDTree vim編輯器的左側(cè)就可以出現(xiàn)文件夾目錄 創(chuàng)建快...
摘要:截圖安裝你需要一個(gè)有支持的版本請(qǐng)使用來(lái)檢查依賴平臺(tái)依賴平臺(tái)的源自帶的版本較舊,推薦自行安裝依賴平臺(tái)下載文件到用戶主目錄打開(kāi)打開(kāi)它將會(huì)自動(dòng)安裝插件請(qǐng)耐心等待它完成或者你可以使用下面的命令來(lái)自行安裝享受你的并個(gè)性化它 截圖 showImg(http://moelove.qiniudn.com/vim.png); 安裝 (你需要一個(gè)有Python支持的Vim版本. 請(qǐng)使用 vim --ver...
閱讀 2633·2021-11-19 09:59
閱讀 2126·2019-08-30 15:55
閱讀 1008·2019-08-29 13:30
閱讀 1408·2019-08-26 10:18
閱讀 3151·2019-08-23 18:36
閱讀 2451·2019-08-23 18:25
閱讀 1232·2019-08-23 18:07
閱讀 500·2019-08-23 17:15