Vim
粘貼到 vi / vim 後的游標位置
在vi / vim中一直困擾著我的一件事:
如果我“拉”(又名“複製”)一些文本,然後移動到文件中的另一個位置並進行“粘貼”,我的游標將停留在我剛剛粘貼的文本的開頭。這與大多數現代編輯器所做的不同,後者是將游標放在我粘貼的文本的末尾。
例如,假設“複製緩衝區”包含我想在片語中的單詞“an”之後粘貼的單詞“awesome”:
This is an editor
例如,在gedit中,粘貼後:
This is an awesome editor ^ Cursor is here
在vi中:
This is an awesome editor ^ Cursor is here
在這方面,我可以將vi更改 為(例如)gedit嗎?
在 vim 中,使用
gp
andgP
而不是p
andP
將游標留在粘貼的文本之後。如果要交換綁定,請將以下幾行放入您的.vimrc
:noremap p gp noremap P gP noremap gp p noremap gP P
奇怪的是,在 vim 中,即使在兼容模式下,
p
也P
將游標留在最後粘貼的字元上作為字元緩衝區。我不知道如何在其他 vi 版本中更改它。
']
或者'>
在這裡也可能有用。來自
:h motion.txt
:‘] `] 到先前更改或拉出的文本的最後一個字元。
‘> `> 到目前緩衝區中最後一個選定的可視區域的最後一行或字元。對於塊模式,它也可以是最後一行的第一個字元(以便能夠定義塊)。請注意,“選擇”適用,該位置可能就在可視區域之後。