3

我想将 Vim 设置为自动关闭这对 ' 和 ' (弯引号)。

我尝试配置我能找到的所有五个插件(两个自动关闭、环绕、关闭对和分隔),但没有成功。我什至似乎根本无法重新映射 ' (使用:imap ‘ ‘’<left>或类似)。

我在 Arch Linux 上使用 Vim 7.3 和 uim 1.7.0 输入法;我通过 .XCompose 中定义的快捷方式插入 ' 和 '。重新映射对于我的其他撰写键快捷方式效果很好,例如¡!或者 ?。

4

3 回答 3

4
于 2011-06-08T15:35:30.583 回答
3

避免递归

inoremap ' ''<left>
于 2011-06-08T06:18:59.767 回答
0

您可以通过一个小功能来实现这一点:

function! CloseQuotes()
    normal! i'' 
    startinsert
endfunction

然后'通过以下方式将其映射到:

inoremap ' <ESC>:call CloseQuotes()<CR>

重要的是 中的感叹号normal!,它可以防止映射递归。

于 2011-06-08T07:29:44.253 回答