加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Vim – 防止光标移动到标记时移动

发布时间:2020-12-16 01:52:43 所属栏目:安全 来源:网络整理
导读:我通常使用标记来剪切/粘贴Vim. 要在第4行和第12行之间抽取文本,我执行以下操作: 将光标移动到第4行 键入mx以放置名为x的标记 将光标移动到第12行 键入y’x以在第4行和第12行之间拉动文本 完成此操作后,光标移回第4行. 有没有办法让光标停留在原位(不移回标
我通常使用标记来剪切/粘贴Vim.

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

>将光标移动到第4行
>键入mx以放置名为x的标记
>将光标移动到第12行
>键入y’x以在第4行和第12行之间拉动文本

完成此操作后,光标移回第4行.

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

如果有人有更好的方法来做同样的事情,那也会很棒……

提前致谢!

更新:

我使用FDinoff的答案来创建一个映射,让我成为一个快乐的露营者:

nnoremap YY y'x<C-O>

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

这已经为我节省了大量时间.再次感谢!

解决方法

跳到第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行开始.

但是你可以做的事情.

>使用range作为前命令行模式.范围是. (当前行)到’x(标记x).如果范围是向后的,请问你是否意味着另一个方向.这不会移动光标. :“XY
>或者你可以使用<C-o>将你跳回到你跳过的最后一个地方. (评论中提到过.)
>或者您可以使用']或`].这些命令会跳转到最后一个被拉动的文本的最后一个字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读