2009-05-19 25 views

回答

35

您可以在左括號映射到自己的喜好:

:imap (()<left> 
+4

其他答案中提到的插件具有在鍵入相應關閉「)」時表現「智能」的優點。如果這不需要,那麼我還會用straigt forward map。 – user55400 2009-05-20 10:54:07

+0

一些插件還包括: - 不要在註釋和字符串上下文中展開, - 用一對括號定義圍繞選擇的方式, - 插入佔位符/標記以跳過結束括號(這與最snippets/templates擴展插件)。 – 2009-05-20 19:18:06

+0

有沒有辦法只在行尾做?有時它比有用的更煩人,但有了這個,我會很樂意地使用它... – alexpinho98 2013-07-22 12:46:34

8

這個主題有很多提示和插件。查看vimtips網站中的relevant entry

11

我需要一個過了,我已經嘗試了一些插件的:

自動關閉,http://www.vim.org/scripts/script.php?script_id=1849,有點咄咄逼人。

簡單對,http://www.vim.org/scripts/script.php?script_id=2339,取決於Python。如果你在Linux上,這不是問題,但在Windows上,將Vim版本與Python解釋器相匹配可能會遇到麻煩。

我的建議是ClosePairs,你可以在http://www.vim.org/scripts/script.php?script_id=2373找到它,這對我來說一直很好。它很簡單而且有用。

1

使用此問題有一個問題(通過imap或其中一個腳本)。您將無法使用.命令重複完整編輯。

e.g. (foo) with . only gets you foo, without the brackets.

如果插入支架通常,作爲兩個字符,它工作正常。

13

最簡單的答案是包含一張地圖。例如:

:inoremap (()<left> 

的問題是,你需要添加一個條目你想自動關閉(「{」,「[」,「」「,等等)。此外,插件通常更多每個符號智能,提供之類的東西檢測到「關閉」字符,而不是重複它。

與上面的溶液中並插件的問題是它們傾向於斷裂撤消序列(gundo人?),如在:help ins-special-special解釋。

這裏是你問(從vimtips)那有什麼插件列表:

  • delimitMate以色列Chauca富恩特斯(可配置的,不破撤銷/重做/重複,但 - 打破iabbr)也在GitHub
  • AutoClose由卡爾·格廷(自動關閉特定硬編碼的字符,但不破撤銷/重做/重複)的蒂亞戈·阿爾維斯
  • AutoClose(可配置的,但休息撤銷/重做/重複)
  • auto-pairs自動生按苗疆(可配置的,但休息撤銷/重做/重複)
  • ClosePairs由愛德華多Vacchi(可配置的,但休息撤銷/重做/重複)的假名夏野剛(配置
  • smartinput,但休息撤消/重做/重複)

除了vimtips,網絡上還有another nice explanation of the issue

5

我目前使用auto-pairs,它工作得非常好。

插件破解撤銷/重做/重複的問題似乎在上面列出的一些插件中持續存在,但我認爲它不是一個問題(當然,至少現在不是我)。

只是一個警告,但我無法使用:helptags在編寫本文時使用此插件生成幫助文件。

0

有由cohama一個新的插件:

lexima.vimgithub

(尚未在vim.org)

這個插件支持.命令!
Afaik,這是唯一支持這一點的插件。

此外撤消/重做序列的作品。