我通常使用标记在Vim中剪切/粘贴。
要在第4行和第12行之间抽出文本,我会执行以下操作:
mx
以放置名为x y'x
以在第4行和第12行之间抽取文本执行此操作后,光标移回第4行。
有没有办法让光标停留在原位(不移回标记)?
如果有人有更好的方法做同样的事情,那也会很棒......
提前致谢!
更新
我使用FDinoff的答案来创建一个映射,让我成为一个快乐的露营者:
nnoremap YY y'x<C-O>
从光标到名为x的标记,然后将光标返回到原来的位置。
这已经节省了我吨的时间。再次感谢!
答案 0 :(得分:9)
你跳到第4行的原因是因为你正在使用向后运动的方式。
*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行开始的。
然而你可以做的事情。
答案 1 :(得分:3)
跳回:``
或<c-o>
如需更多帮助,请参阅:
:h ``
:h CTRL-O
答案 2 :(得分:1)
y12G
怎么样?
这将从当前位置(第4行)拉到第12行。