我是一个Vim用户,我想删除一个关键字,我总是使用“dw”来删除一个特定的关键字,但有时效果不好,例如我想删除示例程序中的“valule 123”。
ex) public void function(int valule123)
当我把光标放在“2”上,然后输入“dw”,只删除了部分关键字,结果是“valule 1”,为什么?我尝试了另一个命令,“daw”。在这种情况下,结果正如所料!但是“a”是什么意思呢?我想“a”是“add”的意思。
qoefvg9y1#
Vim中的命令/动作/动词d作用于一个对象。对于dw,对象是“使用w命令光标移动过的所有文本”。对于daw,实际上使用的是一个称为“文本对象”的Vim概念。有很多这样的对象,包括aw(单词)、as(句子)、i}(内部{...}块,例如C代码中块内的代码)、it(内部标记,用于类似XML的语言)等。完整列表参见:help text-objects。它们不仅可以被d命令使用,也可以被任何带对象的命令/操作/动词使用,例如,=aB将重新缩进整个代码块,cas将删除一个句子并进入插入模式键入一个新句子,yit将拖动/复制当前XML标记中的所有内容。
d
dw
w
daw
aw
as
i}
it
:help text-objects
=aB
cas
yit
sycxhyv72#
dw:删除从光标到单词末尾的单词。daw:删除光标下的单词。还有写caw的选项,这一个和daw做的一样,但是也把你放进插入模式。
wfsdck303#
如果你在Vim控制台里输入:help daw,你会看到它的意思是“删除一个单词”。所以,'a'在这里的意思是 a。更多来自文档:例如,比较“dw”和“daw”:“dw”删除从光标位置到下一个单词的开头,“daw”删除光标下的单词及其前后的空格。如果你不想删除它后面/前面的空格,你可以使用diw(delete inner word)。
:help daw
diw
ddarikpa4#
对于这些情况,您始终可以用途:diw那样的话,光标在单词上的什么位置都无关紧要,它总是会删除整个单词。
i
另一个有用的用法是ciw(change internal word),用于删除单词并进入插入模式。
ciw
u0sqgete5#
如果我知道要删除的单词,我的删除流程将是:1.找到:/deleting-word并将光标置于删除词的末尾。1.在-- INSERT --上,组合键[ctrl+w]删除该单词,或继续删除多个单词。
:/deleting-word
-- INSERT --
q0qdq0h26#
lbce
z18hc3ub7#
当在dw周围导航时,dw将删除一个单词。当然w将从一个单词的第一个字符导航到下一个单词,而b将从上一个单词导航,等等。假设你使用导航键j,k,h,l(下、上、左、右),如果你在一个特定字符的单词中,你可以键入d来删除,然后键入l,右边的字符将被删除,或者键入h,左边的字符将被删除。当你的手指实际放在键上时,这会更直观😄
b
j,k,h,l
l
h
7条答案
按热度按时间qoefvg9y1#
Vim中的命令/动作/动词
d
作用于一个对象。对于dw
,对象是“使用w
命令光标移动过的所有文本”。对于daw
,实际上使用的是一个称为“文本对象”的Vim概念。有很多这样的对象,包括aw
(单词)、as
(句子)、i}
(内部{...}块,例如C代码中块内的代码)、it
(内部标记,用于类似XML的语言)等。完整列表参见
:help text-objects
。它们不仅可以被
d
命令使用,也可以被任何带对象的命令/操作/动词使用,例如,=aB
将重新缩进整个代码块,cas
将删除一个句子并进入插入模式键入一个新句子,yit
将拖动/复制当前XML标记中的所有内容。sycxhyv72#
dw:删除从光标到单词末尾的单词。
daw:删除光标下的单词。
还有写caw的选项,这一个和daw做的一样,但是也把你放进插入模式。
wfsdck303#
如果你在Vim控制台里输入
:help daw
,你会看到它的意思是“删除一个单词”。所以,'a'在这里的意思是 a。更多来自文档:例如,比较“dw”和“daw”:“dw”删除从光标位置到下一个单词的开头,“daw”删除光标下的单词及其前后的空格。
如果你不想删除它后面/前面的空格,你可以使用
diw
(delete inner word)。ddarikpa4#
对于这些情况,您始终可以用途:
diw
那样的话,光标在单词上的什么位置都无关紧要,它总是会删除整个单词。d
:删除i
:内部/内部w
:字另一个有用的用法是
ciw
(change internal word),用于删除单词并进入插入模式。u0sqgete5#
如果我知道要删除的单词,我的删除流程将是:
1.找到
:/deleting-word
并将光标置于删除词的末尾。1.在
-- INSERT --
上,组合键[ctrl+w]删除该单词,或继续删除多个单词。q0qdq0h26#
lbce
都可以很好地工作。z18hc3ub7#
当在
dw
周围导航时,dw
将删除一个单词。当然w
将从一个单词的第一个字符导航到下一个单词,而b
将从上一个单词导航,等等。假设你使用导航键
j,k,h,l
(下、上、左、右),如果你在一个特定字符的单词中,你可以键入d
来删除,然后键入l
,右边的字符将被删除,或者键入h
,左边的字符将被删除。当你的手指实际放在键上时,这会更直观😄