gpt4 book ai didi

Vim - 防止光标在猛拉到标记时移动

转载 作者:行者123 更新时间:2023-12-04 22:29:45 27 4
gpt4 key购买 nike

我通常使用标记在 Vim 中剪切/粘贴。

要拉取第 4 行和第 12 行之间的文本,我执行以下操作:

  • 将光标移动到第 4 行
  • 类型 mx放置一个名为 x
  • 的标记
  • 将光标移动到第 12 行
  • 类型 y'x猛拉第 4 行和第 12 行之间的文本

  • 执行此操作后,光标移回第 4 行。

    有没有办法让光标停留在原处(不移回标记)?

    如果有人有更好的方法来做同样的事情,那也太好了......

    提前致谢!

    更新:

    我使用 FDinoff 的回答创建了一个让我成为快乐露营者的映射:
    nnoremap YY y'x<C-O>

    这会从光标拉到名为 x 的标记处,然后将光标返回到它所在的位置。

    这已经救了我 时间。再次感谢!

    最佳答案

    您跳到第 4 行的原因是因为您使用了向后运动的 yank。

                                *y* *yank*
    ["x]y{motion} Yank {motion} text [into register x]. When no
    characters are to be yanked (e.g., "y0" in column 1),
    this is an error when 'cpoptions' includes the 'E'
    flag.

    有问题的议案是 'x 这是跳转到标记x。光标移动到被拉动部分的开头,在本例中是第 4 行,因为您是从第 12 行拉动的。

    但是你可以做的事情。
  • 使用 range对于 ex 命令行模式 yank。范围是 . (当前行)到 'x (标记 x)。如果范围向后,会问您是否指的是另一个方向。这不会移动您的光标。 :.,'xy
  • 或者你可以使用 <C-o> will 会让你跳回到你跳的最后一个地方。 (在评论中提到过。)
  • 或者你可以使用 '] `] .这些命令会将您跳转到最后一个拉出文本的最后一个字符。
  • 关于Vim - 防止光标在猛拉到标记时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16975610/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com