【问题标题】:Motion to last character到最后一个字符的动作
【发布时间】:2013-10-21 19:17:38
【问题描述】:

有移动到最后一个字符的动作吗?

例子:

[A]pple -> move to last p -> Ap[p]le

我可以用2fp 做到这一点,但如果一行中有很多“p”,那么计算它们就不容易了,那么就用10fp

【问题讨论】:

标签: vim motion


【解决方案1】:
$Fp

$ 跳转到行尾,F 向后跳转到字符p

如果 p 是你的最后一个字符,这将不起作用。

【讨论】:

  • 这不是动议,它不适用于操作员,即d$Fp
  • 这是两个动作,所以如果你想向后删除到行中的最后一个“p”,那就是$dFp。删除最后一个“p”之前的所有内容将是 $Fpd0,如果您需要重复它,您可以将其用作宏。我不认为在一个动作中拥有它有什么主要优势,但也许有人可以向我解释一下。
  • $Fpd0 可以删除最后一个字符之前的所有内容,但不能删除光标和最后一个字符之间的所有内容。不过,它可以在视觉模式下工作。
【解决方案2】:

我的JumpToLastOccurrence plugin 扩展了内置的f / F / t / T 动作,对应的动作(默认绑定到,f 等)移动到@987654327 的最后一次出现@ 在行中。

【讨论】:

    【解决方案3】:

    从头开始搜索

    而不是寻找最后一次出现的字符 - 移动到最后并向后看第一个:

    $Fp
    

    【讨论】:

    • 这不是动议,它不适用于操作员,即d$Fp
    • 抱歉,您需要something like this afaik 作为动议。
    【解决方案4】:

    没有这样的动作。

    但你总是可以使用vfp;;;;dv$Fpd

    或者寻找另一个更合适的目标。

    或者使用 Easymotion 之类的插件。

    【讨论】:

      【解决方案5】:

      我的 Vim 插件 improved_ft 也允许这样做。设置let g:ft_improved_multichars = 1,按f,然后输入p,然后输入l

      【讨论】:

        猜你喜欢
        • 2013-11-26
        • 2015-04-27
        • 1970-01-01
        • 2019-01-07
        • 2011-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多