Vim:猛拉并粘贴线并保持柱子的位置

Rah*_*ani 4 vim

背景:我正在vim中编辑reStructuredText表.我想抽一条线并贴上它.该行仅包含单元格垂直分隔符(|),因此此操作对应于在源中为现有行提供另一行空间,但不会单独影响输出.一个简单的yyP或者yyp,在操作之后将光标放到第1列.

问:有没有一种简单的方法可以"拉出并粘贴一条线"并将光标保持在操作之后的同一列中?

在我写完这个问题之后,我突然意识到使用了一个标记,这确实有效:我可以做mayyP,然后`a跳回到所需的列.虽然这有点长.所以问题是,我能用更少的击键来做到这一点吗?

编辑:正如Shahbaz正确地指出的那样,我可以写一个别名,现在我知道如何做我想要的.我仍然对使用标准命令的任何更短的方式感兴趣,以防我缺少一些我应该知道的功能.

ben*_*her 5

正如@romainl所说,你应该:set nostartofline(或:set nosol简称).然后,yyp使用:copy命令代替:

:copy .
:copy -
Run Code Online (Sandbox Code Playgroud)

如果:copy太长,你可以使用:co:t.如果您之间不使用任何ex命令,则可以使用@:然后使用重复命令@@.

:help :copy
:help @:
:help @
Run Code Online (Sandbox Code Playgroud)