我需要每次寫一個單引號或雙引號、圓括號、花括號、方括號... 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