在没有进入插入模式的情况下,可以在光标所在的Vim中插入换行符?这是一个例子([x]
意味着光标处于打开状态x
):
if (some_condition) {[ ]return; }
我可能想要输入更多的代码。所以我会按i进入插入模式,按Enter插入换行符,然后删除额外的空间。接下来,我将进入正常模式,并将光标放在右大括号之前,然后执行相同的操作,以便在自己的行上进行操作。
我一直在这样做,但是肯定有更好的方法来做到这一点?
发布于 2018-05-07 17:23:40
对于你给出的例子,你可以用rEnterEnter来代替单个字符(空格)。然后,fspace.前进到下一个空格并重复上一个命令。
根据您的autoindent设置,上面可能会或可能不会正确缩进return语句。如果不是,则sEnterTabEsc改为使用换行符替换空格,缩进行并退出插入模式。你将不得不用另一个命令替换第二个空格,所以你不能使用'。'。在这种情况下。
发布于 2018-05-07 18:07:44
下面是如何创建一个宏,在不处于插入模式时按下'g'时在光标处插入换行符:
在vim中输入:
:map g i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]
您将在vim窗口的底部看到以下内容,直到您按下最终的Enter:
:map g i^M^[
说明:
[Ctrl + V]表示“引用下面的字符” - 它允许您在命令中嵌入换行符和转义字符。
所以你要将'g'键映射到序列上:
i [Enter] [Escape]
这是在游标之前插入换行符的 vim ,然后退出插入模式。
调整:
f}i^M^[O
-这将˚F IND的}和我 nsert另一个新行,然后在插入模式和逃生Ø笔的空行,让您输入更多的代码。https://stackoverflow.com/questions/-100008397
复制相似问题