我正在编写一个在某些条件下自动插入一些文本的函数。当我尝试模仿Enter按时,我陷入了困境。我想出了这个(显而易见的)代码:
execute "normal! a\<cr>"
问题是它打破了自动注册。例如,我有一个像这样的文本文件(|是游标):
if (condition) {
action();|
所以我运行execute "normal! a\<cr>"
。当我需要这个时:
if (condition) {
action();
|
它的行为如下:
if (condition) {
action();
|
当然,autoindent已开启。我做错了什么?
答案 0 :(得分:5)
它实际上按预期工作。如果你执行:execute "normal! a\<cr>hello
,它会把'hello'放在正确的位置。如果按 A 输入 Esc ,它将下降到该行的开头。该命令退出插入模式,因为它是一个空行,不需要。