我知道删除字母的“命令”是 x,但如果你真的只是删除 3-5 个字母,按下 真的有用吗ESC + hhhhh + xxxxx
?
在 vim 中,我们不能使用退格键,有什么原因吗?
答案1
由于你的打字顺序以 开头,因此<Esc>
我假设你插入模式,对吧?如果是这样,你可以输入<C-w>
删除光标左侧的单词,而无需离开插入模式。
击球<bs>
作品插入对于单个字符,模式也是如此,如果您只需要删除刚刚输入的几个字符,则没有必要退出该模式。
x
是删除字母的命令普通的模式,但它只能单独使用 ( x
) 或与计数 ( 5x
) 一起使用, 也一样X
。 在许多情况下,您需要对整个单词或两个单词、一对括号之间的内容、直到特定模式向前、直到和包括特定字母向后执行操作……在这种情况下,您应该d
与动作结合使用。
答案2
在命令模式下,Backspace 用于将光标向左移动。如果要按预期使用它,请在命令模式下使用以下命令:
:nnoremap <bs> X
.vimrc
如果您想要永久更改,请将其添加到您的文件中。
答案3
相反ESC hhhhh xxxxx
,尝试d5h
。
答案4
您可以使用 Sachin Shekhar 建议的映射或“以 Vi 方式”进行操作,但我认为还有更好的方法:
此backspace
设置控制 Backspace 键的工作方式。将其放入 .vimrc 中可使 Backspace 键按大多数人期望的方式工作:
set backspace=indent,eol,start
了解:h 'backspace
更多信息。