我是 vim 用户,我想删除一个关键字。我总是使用“dw”来删除特定的关键字,但有时效果不佳。例如,我想在示例程序中删除“value123”。
ex) public void function(int valule123)
当我将光标放在“2”上,然后输入“dw”时,只删除了部分关键字,结果是“val1”。为什么?
我尝试了另一个命令“daw”。在这种情况下,结果正如预期的那样!但是“一”是什么意思?我认为“a”的意思是“添加”。
我是 vim 用户,我想删除一个关键字。我总是使用“dw”来删除特定的关键字,但有时效果不佳。例如,我想在示例程序中删除“value123”。
ex) public void function(int valule123)
当我将光标放在“2”上,然后输入“dw”时,只删除了部分关键字,结果是“val1”。为什么?
我尝试了另一个命令“daw”。在这种情况下,结果正如预期的那样!但是“一”是什么意思?我认为“a”的意思是“添加”。
Vim 中的命令/动作/动词d
作用于一个对象。对于dw
对象是“光标通过命令移动的所有文本w
”。因为daw
你实际上使用了一个叫做“文本对象”的 Vim 概念。其中有很多,包括aw
(一个单词)、as
(一个句子)、i}
(内部 {...} 块,例如 C 代码中块内的代码)、it
(内部标记,对类似 XML 的语言有用)等等.
查看:help text-objects
完整列表。
这些不仅可以由d
命令使用,而且可以由任何带有对象的命令/动作/动词使用。例如,=aB
将重新缩进整个代码块,cas
将删除一个句子并让您进入插入模式以键入一个新的,yit
并将提取/复制当前 XML 标记内的所有内容。
dw:从光标处删除单词到单词的末尾。
daw:删除光标下的单词。
还有写 caw 的选项,这个和 daw 一样,但也让你进入插入模式。
如果你:help daw
在 Vim 控制台中输入,你会看到它的意思是“删除一个单词”。所以,“a”在这里表示a。更多来自文档:
例如,比较“dw”和“daw”:“dw”从光标位置删除到下一个单词的开头,“daw”删除光标下的单词及其前后的空格。
如果您不想删除它之后/之前的空格,可以使用diw
(删除内部单词)。
对于这些情况,您始终可以使用:diw
这样,您的光标在单词上的位置无关紧要,它始终会删除整个单词。
d
: 删除i
:内部/内部w
: 单词另一个有用的用途是ciw
(更改内部单词)删除单词并进入插入模式。干杯!
如果我知道要删除的单词,我的删除流程是:
:/deleting-word
并光标在删除词的末尾。-- INSERT --
,组合 [ ctrl + w ] 删除该单词,或继续删除多个单词。lbce
如果您想更改英文句子中的一个单词,尽管光标在您要删除的单词中的位置,它可能会很好地工作。