Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 需要一个脚本来模拟<;cr>;在插入模式下按_Vim - Fatal编程技术网

Vim 需要一个脚本来模拟<;cr>;在插入模式下按

Vim 需要一个脚本来模拟<;cr>;在插入模式下按,vim,Vim,我正在编写一个函数,在特定条件下自动插入一些文本。当我试图模仿Enter press时,我卡住了一个零件。我提出了以下(明显的)代码: 所以我运行执行“normal!a\”。当我需要这个时: if (condition) { action(); | 它的行为是这样的: if (condition) { action(); | 当然,“自动缩进”处于启用状态。我做错了什么?它实际上按预期工作。如果您执行:执行“normal!a\hello,它会将“hello”放在正确的

我正在编写一个函数,在特定条件下自动插入一些文本。当我试图模仿Enter press时,我卡住了一个零件。我提出了以下(明显的)代码:

所以我运行
执行“normal!a\”
。当我需要这个时:

if (condition) {
    action();
    |
它的行为是这样的:

if (condition) {
    action();
|

当然,“自动缩进”处于启用状态。我做错了什么?

它实际上按预期工作。如果您执行
:执行“normal!a\hello
,它会将“hello”放在正确的位置。如果您按AEINTERESC,它将下降到行首。该命令将退出插入模式,因为它是一个空行,不需要任何提示。

非常感谢。顺便说一句(主题外),在自动缩进打开的情况下创建新行时,有没有办法实际插入制表符?当我在新创建的行上退出插入模式,然后手动键入所有制表符时,这有时会让我发疯。@Susei您可以插入一个字符,转义,然后执行
x
。例如,
:exe“norm!”!a\h\x“
if (condition) {
    action();
    |
if (condition) {
    action();
|