【问题标题】:Unexpected behavior with Vim change operator and word-forward motionVim 更改运算符和字前运动的意外行为
【发布时间】:2020-03-28 22:58:17
【问题描述】:

我正在学习 Vim 的基础知识,并注意到 cw 命令的意外行为。

对于这个命令,我希望动作从光标选择到下一个单词的开头(不包括)并应用更改操作。但我看到它只选择到当前单词的末尾(包括),与 ce 所做的相同。

示例:Hello world 光标位于“e”上。

运行cw后得到以下信息:

实际:H world,光标位于第一个空格。

预期:Hworld,光标位于“w”上。

【问题讨论】:

    标签: vim


    【解决方案1】:

    这是一种特殊情况。通常,如果您想更改单词,您还需要它后面的空格。

    特殊情况:如果光标在非空白上,“cw”和“cW”被视为“ce”和“cE”。这是因为“cw”被解释为change-word,并且一个单词不包括后面的空格。 {Vi: "cw" 当在一个空白后面跟着其他空白时只改变第一个空白;这可能是一个错误,因为“dw”会删除所有空白}

    您可以在WORD 的文档中阅读更多相关信息

    如果您确实希望删除空格,可以尝试 caw 动作。

    Hello world
     ^
    -> caw
    Hworld
     ^
    

    【讨论】:

    • 其实caw之后的H也应该没了
    猜你喜欢
    • 2017-03-05
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多