[英]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.