在插入模式下移动到行首

Val*_*yev 77 vim

我知道我可以使用:

  1. Home 在插入模式下
  2. Esc+ i退出插入模式并再次输入,有效地转到行的开头.

但是既不满足我.在第一种情况下,我不得不倾斜我的头Home,因为我不能盲目地击中它.在第二种情况下,我的左臂必须离开主排才能击中Esc,这也很烦人.

有什么想法吗?

Gre*_*ton 139

Ctrl+ O在插入模式下,只需按一次键即可进入命令模式.因此Ctrl+ O然后Shift+ I应该完成你正在寻找的东西.

  • 或者"Ctrl-o"后跟"0"(比"Ctrl-o"稍微高效,后跟"Shift-I"),因为您将自动返回插入模式.在某些情况下,`Ctrl-o`后跟`^`可能更好(移动到行的第一个非空白字符). (39认同)
  • 如果你的alt键发送转义,你可以在插入模式下使用Alt-A或Alt-I(可以在iTerm2中配置) (2认同)
  • `<CO>`与`<C - [>`或`<Esc>`不同,尽管它们看起来很像.不同之处在于使用常规转义进行编辑+ <使某些内容再次进入插入模式>让您进行两次编辑,而<CO>则为您留下一个.这可以帮助您维护更清晰的撤消历史记录,并能够重复使用该插入进行粘贴.有些vim'ers会说你应该注意这样的东西. (2认同)

Xav*_* T. 49

您可以使用I(大写i)进入插入模式.

它会将光标放在行的开头.

同样,您可以使用A在行尾添加内容.

虽然,它并没有真正解决在已经处于插入模式时移动的问题.

我刚刚检查了插入模式的帮助,在插入模式下没有按键组合在行的开头移动.

其他想法:仅在插入模式下重新映射新命令

inoremap <C-i> <Home>


小智 22

我已经将Ctrl + a和Ctrl + e分别映射到行的开头和结尾.这与大多数bash命令行的行为相匹配.对我来说效果很好.

inoremap <C-e> <Esc>A
inoremap <C-a> <Esc>I
Run Code Online (Sandbox Code Playgroud)

  • 这些是通常的Emacs行为.大多数浏览器也支持各种类型的文本字段.我不认为这是一个坏主意,但这就是你错过的内容:`<Ce>`在光标下复制/写入字符(`<Cy>`用于过度光标),`<Ca>`insert's什么在你的.-register(点寄存器).当你离开插入模式时,即使使用Ctrl-c(由于许多原因你不应该习惯),该寄存器也会被你输入的内容所填充. (2认同)