首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Vim中插入一个没有进入插入模式的换行符?

如何在Vim中插入一个没有进入插入模式的换行符?
EN

Stack Overflow用户
提问于 2018-05-07 08:30:17
回答 2查看 0关注 0票数 0

在没有进入插入模式的情况下,可以在光标所在的Vim中插入换行符?这是一个例子([x]意味着光标处于打开状态x):

代码语言:javascript
运行
复制
if (some_condition) {[ ]return; }

我可能想要输入更多的代码。所以我会按i进入插入模式,按Enter插入换行符,然后删除额外的空间。接下来,我将进入正常模式,并将光标放在右大括号之前,然后执行相同的操作,以便在自己的行上进行操作。

我一直在这样做,但是肯定有更好的方法来做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2018-05-07 17:23:40

对于你给出的例子,你可以用rEnterEnter来代替单个字符(空格)。然后,fspace.前进到下一个空格并重复上一个命令。

根据您的autoindent设置,上面可能会或可能不会正确缩进return语句。如果不是,则sEnterTabEsc改为使用换行符替换空格,缩进行并退出插入模式。你将不得不用另一个命令替换第二个空格,所以你不能使用'。'。在这种情况下。

票数 0
EN

Stack Overflow用户

发布于 2018-05-07 18:07:44

下面是如何创建一个宏,在处于插入模式时按下'g'时在光标处插入换行符:

在vim中输入:

代码语言:javascript
运行
复制
:map g i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]

  • [Ctrl + V]表示按住Ctrl键并按'v'
  • [Enter]表示按Enter键
  • [Esc]表示按下Esc键

您将在vim窗口的底部看到以下内容,直到您按下最终的Enter:

代码语言:javascript
运行
复制
:map g i^M^[

说明:

[Ctrl + V]表示“引用下面的字符” - 它允许您在命令中嵌入换行符和转义字符。

所以你要将'g'键映射到序列上:

代码语言:javascript
运行
复制
i [Enter] [Escape]

这是在游标之前插入换行符的 vim ,然后退出插入模式

调整:

  • 您可以用任何尚未链接到您使用的命令的字符替换'g'。
  • 更添加到命令,例如 f}i^M^[O -这将˚F IND的} nsert另一个新行,然后在插入模式和逃生Ø笔的空行,让您输入更多的代码。
  • 您可以将该命令添加到.vimrc或.exrc文件以使其永久。只需从头开始省略冒号,所以命令以“map”开始
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档