Vim有哪些曾經有名但是現在過時外掛程式?

時間 2021-05-06 14:03:02

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

:LeaderfFunction

!<

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.別哭窮,因為沒人會給你錢 別喊累,因為沒人會幫你做 別想...