Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Vim中删除一个单词_Vim - Fatal编程技术网

如何在Vim中删除一个单词

如何在Vim中删除一个单词,vim,Vim,我是vim用户,我想删除一个关键字。我总是用“dw”来删除特定的关键字,但有时效果不好。例如,我想删除示例程序中的“Value123” ex) public void function(int valule123) 当我把光标放在“2”上,然后输入“dw”时,只删除了部分关键字,结果是“val1”。为什么? 我试过另一个命令,“道”。在这种情况下,结果与预期一样!但“a”是什么意思?我认为“a”表示“添加”。如果您在Vim控制台中键入:help daw,您将看到它表示“删除一个单词”。“a”在

我是vim用户,我想删除一个关键字。我总是用“dw”来删除特定的关键字,但有时效果不好。例如,我想删除示例程序中的“Value123”

ex) public void function(int valule123)
当我把光标放在“2”上,然后输入“dw”时,只删除了部分关键字,结果是“val1”。为什么?


我试过另一个命令,“道”。在这种情况下,结果与预期一样!但“a”是什么意思?我认为“a”表示“添加”。

如果您在Vim控制台中键入
:help daw
,您将看到它表示“删除一个单词”。“a”在这里的意思是a。更多来自文档:

例如,比较“dw”和“daw”:“dw”从光标中删除 定位到下一个单词的开头,“daw”删除下面的单词 光标及其前后的空格


如果不想删除其前后的空格,可以使用
diw
(删除内部单词)。

Vim中的命令/动作/动词
d
作用于对象。对于
dw
而言,对象是“光标通过
w
命令移动的所有文本”。对于
daw
您实际上使用了一个称为“文本对象”的Vim概念。其中有很多,包括
aw
(一个单词),
as
(一个句子),
i}
(内部{…}块,例如C代码中块内的代码),
it
(内部标记,对类似XML的语言有用)等等


有关完整列表,请参见
:帮助文本对象


这些命令不仅可以由
d
命令使用,还可以由接受对象的任何命令/动作/动词使用。例如,
=aB
将重新插入整个代码块,
cas
将删除一个句子并使您进入插入模式以键入一个新句子,
yit
将拖动/复制当前XML标记内的所有内容。

dw:将单词从光标删除到单词末尾
daw:删除光标下的单词

还有编写caw的选项,该选项与daw相同,但也将您置于插入模式。

如果我知道要删除的单词,我的删除流程将是:

  • 查找
    :/deleting word
    ,并将光标放在删除单词的末尾
  • --插入--
    ,组合[ctrl+w]删除该单词,或继续搜索多个单词

  • 对于这些情况,您可以始终使用:
    diw
    ,这样无论光标位于单词的哪个位置,它都会删除整个单词

    • d
      :删除
    • i
      :内部/内部
    • w
      :word
    另一个有用的用法是
    ciw
    (更改内部单词)删除单词并进入插入模式。
    干杯

    请参见
    :帮助文本对象
    搜索后的dgn更简单