如何在VIM編輯器中自動補全單雙引號、括號等?

如何在VIM編輯器中自動補全單雙引號、括號等?

我需要每次寫一個單引號或雙引號、圓括號、花括號、方括號... vim 應該自動建立結束引號並將遊標放入其中以便輕鬆繼續編輯。我注意到大多數編輯都會這樣做。

我需要這個適用於每種程式語言。 PHP、JS、JQUERY、HTML、CSS...但不使用程式碼片段,因為程式碼片段需要快捷方式或鍵盤映射來執行此操作(效率不高)。我需要這個自動完成功能在按下「鍵後自動工作。

答案1

有可用的插件(例如 delimitMate)提供此功能。或者,您可以建立自己的映射。可以在此處找到更大的插件列表以及潛在映射的詳細討論:http://vim.wikia.com/wiki/Automatically_append_looking_characters;一般來說,映射類似於:

inoremap        (  ()<Left>
inoremap <expr> )  strpart(getline('.'), col('.')-1, 1) == ")" ? "\<Right>" : ")"

然而,目前(從Vim 7.4.781 開始)此類映射以及您安裝的任何插件都會中斷撤消/重做/重複,因此需要兩個撤消步驟來刪除您輸入的文本:1 刪除內部括號,1 刪除內部括號刪除括號本身。如果您願意編譯自己的 Vim,可以使用一個補丁來修復此問題:https://groups.google.com/forum/#!topic/vim_dev/gBumYDSEJoo/discussion

答案2

您必須為此安裝插件。是一個範例插件。它更容易使用崇高的文字比任何其他編輯器都好。

相關內容