在vim中,当你想要删除一个内部单词时,你可以在正常模式下按下以下命令:
diw但是如果你想删除一个外部单词,你应该按:
daw现在的问题是,i代表inner,但为什么在外部情况下,它不是dow而是daw
发布于 2021-04-26 16:35:55
来自:help text-objects
选择以"a“
"a"n object包含空白的命令,以"i”开头的命令选择不含空白的“内部”对象,或仅选择空白。因此,“内部”命令总是比"a“命令选择更少的文本。
请注意,文本对象的边界是文本对象的组成部分。如果“内部”是那些边界内的东西,那么“外部”就是它们之外的东西,因此缓冲区中的其他所有东西。
从这个角度来看,选择边界内的内容和边界本身实际上是选择“一个”整个文本对象。
Foo <span>bar</span> baz.
-- actual meaning --
<----> <-----> the boundaries of the text object
<-> what is inside those boundaries
-> "inner text object"
-> "it"
<--------------> the boundaries + what is inside them
-> "a text object"
-> "at"
-- hypothetical meaning --
<--> <---> what is outside of the boundaries
-> "outer text object"
-> "ot"https://stackoverflow.com/questions/67263220
复制相似问题