在光标前插入空格,然后在Vim中新添加的空格之前移动光标

我正在寻找一种更简单的方法来执行我在Vim中使用的常见编辑模式.

鉴于以下代码……

我想在现有条件之前为if子句添加一个新条件,如下所示:

我目前这样做的方式是……

>从普通模式开始,我将块光标移动到左括号后面的第一个字母“r”:

>然后按i进入插入模式,将插入光标放在左括号和字母“r”之间.
>然后按空格键,在左括号和字母“r”之间插入一个空格:

>然后按一下←键,在新添加的空格之前移动光标.
>然后我快乐地输入添加新条件网站==“HQ”&&

问题

每当我必须在两侧都没有空白区域的位置添加文本时,我必须经历这种编辑模式.为什么?因为我发现分隔新文本更容易,我将从现有文本添加到右侧.

例如,如果我在上面的第2步之后开始添加新的“if”条件(没有空格分隔),那么当我键入时,它看起来像这样:

在我输入的时候像这样一起刷新的话令人不安,它通常会让我失望.如果我最初添加空格(如上面的步骤),那么当我输入新信息时,我很少对我正在看的内容感到困惑:

但是,为了在上面的步骤4中找到←键,我必须将我的右手从“原位”移开,这几乎同样令我烦恼.或者,类似地,退出插入模式并重新进入插入模式,再次开始键入,光标位于新添加空间的左侧.

摘要

我想开始输入,因为在光标两侧之前没有空白区域的位置,插入光标右侧有一个空格.

是否有更简单的方法来完成我尝试用更少(或更简单)的击键或使用现有的Vim命令做什么?

最佳答案 实现所需内容的一种方法是创建一个键映射,该映射进入插入模式并自动添加空格:

nnoremap {key} i<space><esc>i

您可以使用{key}所需的任何内容,因为我不知道什么是最适合您的vim配置.您可以使用的另一个映射是:

inoremap {key} <space><left>

优选地,{key}将是Ctrl-映射.

点赞