vim DelimitMate

Gli*_*ide 7 vim

使用DelimitMate,它会自动生成结束括号.当我在括号内完成输入时,我按哪些键击以快速转到右括号的右侧?(现在我必须手动按ESC然后'a')

Ing*_*kat 10

这些自动关闭插件的想法(如Eclipse中的IDE中的原始功能实现)是您只需键入结束字符即可.该插件应该检测到这种情况,而不是插入字符跳过现有的自动插入的字符.

如果这对您不起作用,可以提供多种插件替代方案.在Vim的提示维基有它们的列表.


tdf*_*tdf 8

使用delimitMate,Shift-tab将跳出当前分隔符并使Control-g g您脱离嵌套分隔符.无需重新映射任何东西.


小智 5

您可以尝试自动配对的飞行模式

例如:

( hello| world )

press ) at |

( hello world )|
Run Code Online (Sandbox Code Playgroud)

如果跳转不正确,请使用<M-b>后插入。

例如:

(hello| world()

press ) at |

(hello world()|

press <M-b>

(hello)| world()
Run Code Online (Sandbox Code Playgroud)

仓库:https : //github.com/jiangmiao/auto-pairs

插件:http//www.vim.org/scripts/script.php? script_id = 3599

let g:AutoPairsFlyMode=1 
Run Code Online (Sandbox Code Playgroud)

到.vimrc以打开飞行模式


Atr*_*opo 4

您可以制作自定义地图。我猜你想在模式下转到右括号的右侧insert。只需添加到您的.vimrc此映射中即可:

:inoremap <F8> <ESC>f)a  
Run Code Online (Sandbox Code Playgroud)

这样,当您insert mode完成括号内的书写时,F8会将光标移到右括号的右侧。如果您愿意,可以使用另一个键而不是 来更改映射的键F8

正如肯特在评论中所说,更通用的解决方案是:

:inoremap <F8> <ESC>%%a  
Run Code Online (Sandbox Code Playgroud)

这适用于[{括号。