簡體   English   中英

Vim 中的自動補全

[英]Autocompletion in Vim

我在自動完成時遇到問題。 我在輸入時如何獲得代碼建議?

我通常使用 PHP、Ruby、HTML、C 和 CSS 進行開發。

使用Ctrl - N在插入模式下獲取單詞建議列表。 輸入:help i_CTRL-N查看 Vim 關於此功能的文檔。

是一個將 Python 字典導入 Vim 的示例。

您可以使用AutoComplPop 之類的插件在您鍵入時自動完成代碼。

2015 年編輯:我現在個人使用YouCompleteMe

如果您使用的是 VIM 版本 8+,只需鍵入Ctrl + nCtrl + p

您可以從內置的omnifunc設置開始。

只是說:

filetype plugin on
au FileType php setl ofu=phpcomplete#CompletePHP
au FileType ruby,eruby setl ofu=rubycomplete#Complete
au FileType html,xhtml setl ofu=htmlcomplete#CompleteTags
au FileType c setl ofu=ccomplete#CompleteCpp
au FileType css setl ofu=csscomplete#CompleteCSS

.vimrc的底部,然后在插入模式下鍵入<Ctrl-X><Ctrl-O>

我總是依賴這個 CSS 補全。

還有https://github.com/Valloric/YouCompleteMe ,它包括 Jedi 之類的東西,也有模糊匹配。 到目前為止,我發現 YCM 是我嘗試過的最快的。

編輯:還有一些新的,比如https://github.com/maralla/completor.vim

另一種選擇是coc.nvim

它非常快並且完成非常好,因為它使用與 VScode 相同的自動完成功能。 它還具有 linting 功能。 所以它表明你可能有一個錯誤。 它支持多種語言。

設置和配置可能需要一些時間,但我認為這是最好的 vim 自動完成引擎。

我已經使用neocomplcache大約半年了。 它是一個插件,可以收集所有緩沖區中的單詞緩存,然后提供它們供您自動完成。

上一個鏈接中的項目頁面上有一系列屏幕截圖。 Neocomplcache 還有很多配置選項,項目頁面上也有基本示例。

如果您需要更深入的了解,可以查看我的vimrc中的相關部分 - 只需搜索 neocomplcache 一詞即可。

這是鏈接 對於 PHP。

在編寫一些 PHP 函數時按 Ctrl + x,然后按 Ctrl + o 鍵。

感謝 Oseems Solutions 的教程

如果您只想從當前緩沖區的緩存中自動完成, supertabneocomplete更容易安裝,可以在 Mac 預裝的 vim 上工作,無需 MacVim。

您可以在vim awesome上查看其他替代方案。

我最近發現了一個名為OniVim的項目,它是一個基於電子的 NeoVim 前端,具有非常好的開箱即用的多種語言的自動完成功能,並且由於它基本上只是 NeoVim 的包裝器,因此您擁有 vim 的全部功能如果 GUI 不能滿足您的需求,您可以隨時使用。 它仍處於早期開發階段,但正在迅速改進,並且周圍有一個非常活躍的社區。 我使用 vim 已有 10 多年了,幾周前開始試駕 Oni,雖然它確實存在一些錯誤,但它並沒有妨礙我。 我強烈推薦給仍在使用 vim 的新 vim 用戶!

在此處輸入圖像描述

OniVim: https ://www.onivim.io/

對於 PHP,使用DeopletePadawan是在 Neovim 中擁有強大的 PHP 自動完成功能的絕佳解決方案。 我嘗試了很多東西,學徒的工作就像一個魅力!

對於 Vim,您可以使用Neocomplete而不是 Deoplete。

如果有人感興趣,我寫了一篇如何制作Vim PHP IDE的文章。 當然,學徒是其中的一部分。

使用 vscode 和 vim 擴展。 那么你將獲得 vscode 的所有好處,以及 vim 鍵綁定。 如果您在終端上是 24*7 或使用 32 linux,則必須使用上述方法啟用它.....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM