1樓:zgpio
nerdtree 已然過時,效能不佳。
defx.nvim 是良好的替代品,如果是neovim使用者,我推薦嘗試以c++實現的檔案瀏覽器tree.nvim,使用者介面在defx的基礎上修訂,因為使用者不多,現在最主要還是我自己使用,因此沒有為使用者著想,如果能向我提建議,我會盡快修訂,對tree.
nvim本身,我充滿了信心。
2樓:liuchengxu
簡要介紹:
純 VimScript
無任何額外依賴,只要使用 neovim 0.4+ 或者 vim 8.1.1967+ 即可
使用 floating window 和 popup 的新特性,不會擾動視窗布局,更」護眼「
速度快,無卡頓,基於非同步和快取機制可實現近乎實時的響應
介面通用,易於擴充套件新增新的 clap provider
支援多選
支援預覽
更新:vista.vim 已支援 ctags 的結構化顯示,至此應該是 tagbar 的超集了。
自從 Vim 支援非同步特性以後,tagbar 確實略顯落伍,一來是不常更新,上一次更新還是兩年前,二來是並沒有計畫支援一些新特性,比如 LSP symbols 和支援非同步。所以我做了 liuchengxu/vista.vim , 以期替代 tagbar, 目前完成的特性有:
支援跟 tagbar 類似的側邊欄瀏覽 LSP symbols 和 ctags 生成的 tags 列表。支援:
ctags
vim-lsp
coc.nvim
LanguageClient-Neovim
支援使用 fzf 查詢 LSP symbols 和 tags。
更好地在 cmdline 顯示 symbol 或 tag 的細節, 支援 neovim 的 floating window。
支援從側邊欄跳轉到 symbol 或 tag,同時會進行閃爍提示。
支援在 statusline 顯示最近的函式
自動更新
非同步更新
除了 viewer 功能,由於本人還是個忠實的 junegunn/fzf 使用者,所以 vista.vim 還支援通過 fzf 過濾 LSP symbols/tags,這一點跟很多其他外掛程式提供的功能類似,比如 fzf.vim 的 :
Tags , coc.nvim 的 :CocList, leaderf 的 :
LeaderfBufTag ,不同的是 vista.vim 會同時支援 LSP symbols 和 tags 。
設定 let g:vista_fzf_preview = ['right:50%'] 即可開啟 fzf 的預覽功能,引數與 fzf#vim#preview() 傳入的一樣。
當指定 finder 沒有返回任何內容時,會自動嘗試其他 finder,比如有些 language server 需要有些時間才能返回 document symbol,那麼此時會自動切換到 ctags。
Vista finder coc 時沒有返回內容,自動 fallback 到 ctags。
更多用法請檢視 README https://
和 help 。
3樓:「已登出」
Vim 語法檢查, vim-syntastic/syntastic , 自從 neovim 推出了非同步語法檢查,就可以切換到 neomake 了,而且目前 neomake 也支援 vim8 和 vim7.4
neomake/neomake
模糊查詢 ctrlpvim/ctrlp.vim, 這個算是比較老牌的模糊查詢外掛程式了,但是自從指出非同步以後,推薦使用 denite:
Shougo/denite.nvim
Shougo/deoplete.nvim
新一代高效非同步檔案樹外掛程式 Defx
4樓:韋易笑
你真的不需要 tagbar 了,tagbar 是個老牌外掛程式,用來檢視函式列表,但是它已經好幾年不更新了,經常在不經我許可的情況下(一次都沒開啟過它),莫名其妙的給我用阻塞方式呼叫 ctags,有時候切換檔案都會卡幾秒。
Vim 裡有句名言:There's always a better way in vim。如今對於被封為金科玉律的 tagbar 而言,其生命週期如今正式終結了。
Leaderf 是全非同步模式,不當不會卡你 Vim ,而且顏值比 tagbar 高不少。
我之前簡單提過一次 LeaderfFunction,這個回答會具體比較下各種優劣,LeaderfFunction 相當於 Sublime Text 中的 CTRL+R 函式列表,Visual Studio 裡面的函式名下拉框:
執行命令 「LeaderfFunction! 」彈出當前文件的函式列表
函式列表視窗彈出後,游標會自動定位到當前函式位置,比如你正在編輯函式A的內容,彈出函式列表後,游標就會定位在列表中 A 那一行
其內容包括:函式原型(型別和引數),檔名,行號,buffer number 等。上下鍵選擇,回車進行跳轉。
其實這東西平時就應該不顯示,編碼時可能只有有需要的時候會看兩眼,始用時再開啟,上下瀏覽一下函式列表,選擇乙個函式跳轉過去就該隱藏了,不該像 tagbar 一樣死戳在左邊或者右邊占用我一大塊螢幕空間。
其次 LeaderfFunction 有兩種模式:瀏覽模式和模糊匹配模式,我們直接用 F2 進入瀏覽模式瀏覽當前文件的函式:
noremap
!<
cr>命令後加乙個嘆號會進入 normal 模式,就跟tagbar一樣,除了上下鍵選擇外,Vim的各種跳轉和搜尋命令都可以始用,回車就跳轉過去。對於大點的檔案,用 tagbar 上下翻頁找名字是件挺痛苦的事情。而在 LeaderfFunction 的瀏覽模式中,按 i 進入模糊匹配模式(按 TAB切換回來):
你在下面輸入 encode ,然後函式名將按照輸入內容進行匹配篩選,這是 tagbar 完全不具備的功能,當檔案大函式較為複雜時,這個比較管用。
橫向對比一下,同乙個檔案,我們再 Sublime Text 裡按 CTRL+R:
Sublime Text 中 CTRL+R 顯示函式列表
Sublime Text 的 CTRL+R 函式列表雖然頁可以進行模糊匹配,但是不能檢視函式原型,兩個引數不同的建構函式,在 Sublime 這裡根本看不出區別來。
再來看 Visual Studio 2017 的函式列表:
Visual Studio 2017 的函式裡列表
VS2017 的函式列表可以選擇精確的檢視到函式原型,但是卻無法進行模糊搜尋,檔案一大同樣面來滑鼠滾動條滾半天的情況。最關鍵的是 VS 只支援幾種語言,而 LeaderfFunction 支援 50+ 種語言,起步就 cover 住你一切程式設計需求。
更好的始用 leaderf 的 function 功能需要進行一些簡單配置:
let g:Lf_ShowRelativePath = 0
let g:Lf_HideHelp = 1
let g:Lf_PreviewResult =
let g:Lf_NormalMap34;File": [["", ':
exec g:Lf_py "fileExplManager.quit()"ཞBuffer":
[["", ':exec g:Lf_py "bufExplManager.
quit()"ཞMru൪", ':exec g:Lf_py "mruExplManager.
quit()"ཞTag൪", ':exec g:Lf_py "tagExplManager.
quit()"ཞFunction൪", ':exec g:Lf_py "functionExplManager.
quit()"ཞColorscheme൪", ':exec g:Lf_py "colorschemeExplManager.
quit()"']],
\ }上面主要是關閉了函式列表的預覽功能,使他更接近傳統習慣,然後規定了 ESC可以退出函式列表。然後你可以自由定義你的 keymap 了,比如上面的按 F2 彈出函式列表。注意更新 Leaderf 到最新版本。
5樓:
自己簡單說幾個
Taglist -> Tagbar (更完善的類支援)Ack -> Ag (後者是前者的153%)neocompletecache -> neocomplete -> deoplete/neocompletion-manager(下一代通用補全)
(2015/12/04)更新 CtrlP / CommandT -> Unite.vim + vimproc -> denite.vim CtrlP最大的問題是純VimScript難以非同步、效能不佳,CommandT的ruby依賴常常比較麻煩。
而Unite在有vimproc外掛程式(C, 需要編譯)的支援下可以開啟async模式,速度更快。而且unite.vim有著更多的功能,例如說Unite buffer, Unite tab, Unite file_rec/async, Unite grep:.
等等。denite是更新的非同步版本
曾經有哪些溫暖你的瞬間?
難養小女子 我老公為了我放棄學習和工作了11年的城市,來到乙個遠離朋友和故鄉的陌生城市,從來不說什麼,有一天喝醉了,我開車帶他回來的路上,他對我說 老婆,我好愛你,為了你,什麼都可以拋棄,我只要你。那一瞬間我突然意識到他放棄了什麼。我也是遠離故鄉來到陌生城市工作的,但是我比較宅,不是很喜歡社交 逃跑...
你們曾經有哪些被網暴的經歷
北北 你說的話總會有人誤解,或許他們更本不在乎你說了什麼,只在乎你的立場是否和他一樣。為了讓你的立場和他的立場相同,他不得不把你罵怕,嚇怕。以上是我現在理解的 網暴 剛剛經歷了一場小 網暴 吧。其實很多東西解釋再多也沒用。唉。 神龍龍 剛遭遇,給我的感覺就是群眾的網暴大部分是情緒的發洩。位置站的很高...
你曾經有哪些值得收藏的勵志句子
雲旅遊世界 1.用自己的努力換取成功,然後成功就會像乙個大巴掌,打在那些曾經看不起你的人臉上,要多響有多響,要多爽有多爽。2.有一種努力叫做靠自己,沒有人能成為你永遠的避風港,你才是自己人生路上唯一的導航燈,你想要的人生,只有你自己給得起。3.別哭窮,因為沒人會給你錢 別喊累,因為沒人會幫你做 別想...