[英]Vim: yank and paste line and maintain column postition
背景:我正在vim中编辑reStructuredText表。 我想抽一条线并贴上它。 该行仅包含单元格垂直分隔符( |
),因此此操作对应于在源中为现有行提供一行空格,但不会单独影响输出。 一个简单的yyP
或yyp
,在操作后将光标置于第1列。
问:有没有一种简单的方法可以“拉出并粘贴一条线”并将光标保持在操作之后的同一列中?
在我写完这个问题之后,我mayyP
使用了一个标记,这确实有效:我可以做mayyP
然后`a
跳回到所需的列。 虽然这有点长。 所以问题是,我能用更少的击键来做到这一点吗?
编辑:正如Shahbaz正确地指出的那样,我可以写一个别名,现在我知道如何做我想要的。 我仍然对使用标准命令的任何更短的方式感兴趣,以防我缺少一些我应该知道的功能。
正如@romainl所说,你应该:set nostartofline
(或者:set nosol
简称:set nosol
)。 然后,使用:copy
命令而不是yyp
:
:copy .
:copy -
如果:copy
太长,您可以使用:co
或:t
。 如果您之间不使用任何ex命令,则可以使用@:
然后使用@@
重复命令。
:help :copy
:help @:
:help @
:set nostartofline
请参阅:help startofline
。
你可以记录一个简单的宏
qamayyP`aq
这会将您的命令写入寄存器a
并允许您使用命令@a
重放它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.