首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在vim中'a‘代表外部,而不是'o'?

为什么在vim中'a‘代表外部,而不是'o'?
EN

Stack Overflow用户
提问于 2021-04-26 16:25:44
回答 1查看 92关注 0票数 1

在vim中,当你想要删除一个内部单词时,你可以在正常模式下按下以下命令:

代码语言:javascript
复制
diw

但是如果你想删除一个外部单词,你应该按:

代码语言:javascript
复制
daw

现在的问题是,i代表inner,但为什么在外部情况下,它不是dow而是daw

EN

回答 1

Stack Overflow用户

发布于 2021-04-26 16:35:55

来自:help text-objects

选择以"a“

"a"n object包含空白的命令,以"i”开头的命令选择不含空白的“内部”对象,或仅选择空白。因此,“内部”命令总是比"a“命令选择更少的文本。

请注意,文本对象的边界是文本对象的组成部分。如果“内部”是那些边界内的东西,那么“外部”就是它们之外的东西,因此缓冲区中的其他所有东西。

从这个角度来看,选择边界内的内容和边界本身实际上是选择“一个”整个文本对象。

代码语言:javascript
复制
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"
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67263220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档