vim - 触发宏时,正常模式不会从插入模式切换 (xterm)
vim - when triggering a macro, normal mode isn't switched from insert mode (xterm)
出于测试目的,我创建了简单的宏,它将当前行用单引号括起来并转到下一行。
这是保存宏的寄存器的输出:I'^[A'^[j
这是测试文本:
Line number 1
Line number 2
如果我在第 1 行触发宏,光标位置应更改为第 2 行,文本应更改为:
'Line number 1'
Line number 2{CURSOR_POSITION}
而不是预期的结果,vim 在第 1 行的末尾保持插入模式,结果如下:
'Line number 1'ê{CURSOR_POSITION}
Line number 2
...其中 {CURSOR_POSITION}
是当前光标位置
为什么 vim 将 ê
字符放在第一行的末尾而不转到下一行?
当我使用 运行 vim 和 --noplugin
选项时,我得到了相同的结果。
我用 xterm-256color
Vim7.4
这是一个错误(讨论here)。我知道这很愚蠢,但这应该有效:-)
I'^[A'^[1j
这是因为^[j
可以解释为Ctrl+VAlt+J (link here).
出于测试目的,我创建了简单的宏,它将当前行用单引号括起来并转到下一行。
这是保存宏的寄存器的输出:I'^[A'^[j
这是测试文本:
Line number 1
Line number 2
如果我在第 1 行触发宏,光标位置应更改为第 2 行,文本应更改为:
'Line number 1'
Line number 2{CURSOR_POSITION}
而不是预期的结果,vim 在第 1 行的末尾保持插入模式,结果如下:
'Line number 1'ê{CURSOR_POSITION}
Line number 2
...其中 {CURSOR_POSITION}
是当前光标位置
为什么 vim 将 ê
字符放在第一行的末尾而不转到下一行?
当我使用 运行 vim 和 --noplugin
选项时,我得到了相同的结果。
我用 xterm-256color
Vim7.4
这是一个错误(讨论here)。我知道这很愚蠢,但这应该有效:-)
I'^[A'^[1j
这是因为^[j
可以解释为Ctrl+VAlt+J (link here).