在Vim中,是否有命令可以启动追加模式?

3
我正在尝试在Vim中编辑一个脚本,该脚本将注释附加到行末,然后将光标置于行末并设置为插入模式。但是,我注意到放置在行末的注释后面有一个空格(例如,如果特定语言中的注释样式为// /* */,则附加到行末的文本将为"// ""/* */")。在.vim插件中,使用命令startinsert。但是,这会将光标放在空格之前,而不是之后。因此,生成的注释不是像这样:
// This comment is prepended with a space!
/* This is a great commment! */

它最终看起来像这样(请注意尾随空格):
//This comment is poorly formatted 
/*So is this one.*/

在Vim中,是否有任何等同于“startappend”的命令,它将把用户放入小写a追加模式而不是插入模式?这样,用户就不需要每次使用此脚本生成行尾注释时都使用右箭头键。
如果不存在此功能,那么应该如何创建此功能?
2个回答

4

技术上讲,追加模式是一种正常模式,不同之处在于在进入插入模式之前首先移动光标。在调用 startinsert 后尝试将光标向右移动:

call cursor( line('.'), col('.') + 1)

2
为了使这更加简洁,根据文档,可以使用数字0代替line('.')(刚刚看到的)。 - Phro

3
只需在 :startinsert 命令后面加上一个 !,这样就会追加内容。
      Works like typing "i" in Normal mode.  When the ! is
      included it works like "A", append to the line.
      Otherwise insertion starts at the cursor position.

抱歉,我忘记指定(刚刚添加了编辑),小写的 a 附加模式是必需的,而不是大写的 A,以防使用多行注释。对于单行注释,这样做会更好。 - Phro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接