【问题标题】:How to delete next character (not current!) in vim?如何在vim中删除下一个字符(不是当前字符!)?
【发布时间】:2014-03-28 04:09:59
【问题描述】:

我经常发现自己需要删除光标后的字符,而不是当前字符。在 vim 中以正常模式执行此操作的最短方法是什么?

【问题讨论】:

  • 希望this有帮助
  • 看起来没有一个按键可以做到这一点......
  • Alex,不是标准的东西,但映射功能让你很容易设置它。

标签: vim


【解决方案1】:

lx 可以解决问题,如果您想将光标返回到原始位置,lxh

它只是向前移动光标并删除它下面的字符。

如果这还不够短,您可以将其映射到单个按键:

:map <f5> lxh

然后只需使用 f5 功能键。

【讨论】:

    【解决方案2】:

    我相信有很多方法可以做到这一点,还有另一种三冲程方法:

    xpX
    

    请注意,如果您的光标位于 EOL 上,xpXlxh 都会失败。 :)

    【讨论】:

    • 如果我们要删除 EOL 怎么办?
    • 比接受的答案更好,因为它适用于正确删除行中的最后一个字符(当插入符号位于前一个字符时)而不改变插入符号的位置。为了避免覆盖剪贴板值,可以使用一些自定义缓冲区,例如"0x"0p"_X
    【解决方案3】:

    我知道的最短序列也是显而易见的:

    在命令模式下输入“l x h”。

    【讨论】:

      【解决方案4】:

      有一些命令可以删除光标 Shift-X 之前的字符,但不能删除它之后的字符。我倾向于做 lxh 来完成这件事。 . .

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 2022-01-22
        • 2013-01-04
        • 2011-11-03
        相关资源
        最近更新 更多