11

如果我处于命令模式,如何退格?在我的 Macbook 上按下删除键只会将光标向左移动一个空格。我知道最快的方法是h, x,但有没有更好的方法,也许用一个键?

4

3 回答 3

24

x 向右删除,X 向左删除

这可能对你有用:Vim 备忘单

于 2011-06-29T11:50:34.877 回答
6

在命令模式下,r在某些情况下也可能有用。它允许您替换光标下的单个字符。

通常我经常使用rSpace, 来删除一行上的一个字符而不改变缩进或对齐。

例如,如果您有以下代码:

var anotherOne   = NULL;
var short1       = NULL;
var veryLongLong = NULL;

通过rSpace在“1”上使用,您现在拥有:

var anotherOne   = NULL;
var short        = NULL;
var veryLongLong = NULL;

代替

var anotherOne   = NULL;
var short       = NULL;
var veryLongLong = NULL;

在后一种情况下,您必须切换到插入模式才能添加另一个空格。

于 2011-06-29T12:21:51.633 回答
0

将它映射到g space或您的 vimrc 中的首选快捷方式。这适用于命令模式

nnoremap <silent> g<Space>  i<Space><Esc>

如果要在空格后执行移动操作,请在 Esc 之后附加移动操作。例如,下面将鼠标在空格后向左移动

nnoremap <silent> g<Space>  i<Space><Esc>j
于 2018-09-14T18:42:30.953 回答