我正在尝试编写一个映射,让我在插入模式下可以在一行中的“常见”插入点周围移动。例如,我有 delimitMate 插件 - 因此输入开始分隔符会自动关闭分隔符并将我置于两者之间。一旦我输入了内部的文本,我通常想跳到分隔符的末尾并保持插入模式。继续推进,对于如下所示的功能
$("#someid").live("someevent", function (param1, param2) {
我想要的是插入模式映射,它允许我跳转到以下任何分隔符(引号、双引号、括号和/或 EOL)中的第一个之后,并循环遍历这些点。
检查了 VIM 搜索文档 - \%l 运算符允许限制特定行号。我尝试了 \%.l (. 是当前行) - 但这不起作用。有任何想法吗?
:exe "/\\%" . line(".") . "l[{}()\"':=\\[\\],]"
似乎有效 - 但不会将光标移动到匹配项。
答案1
让它与以下内容一起使用。
inoremap <C-e> <C-o>:call search("\\%" . line(".") . "l[{}():=\\[\\]\.,]","We")<cr>
这会将光标移动到当前行的匹配项,但有两件事效果不佳:
- 每次我按下琴键都会有很长的停顿
- 它让我在匹配字符之前进入 Ins 模式,而不是像我希望的那样在匹配字符之后进入 Ins 模式。