什麼是用剪貼板的內容替換多行的最佳方式是什麼?多次粘貼
我遇到的問題是,當我拉出一條線並粘貼到另一條線上時,「yank」被我替換的線替換。現在,如果我想用同一條線替換另一條線,我必須恢復並再次抽出。
有一個更好的方法來做到這一點。
什麼是用剪貼板的內容替換多行的最佳方式是什麼?多次粘貼
我遇到的問題是,當我拉出一條線並粘貼到另一條線上時,「yank」被我替換的線替換。現在,如果我想用同一條線替換另一條線,我必須恢復並再次抽出。
有一個更好的方法來做到這一點。
我有這個在我的.vimrc:
xnoremap p pgvy
(注:這將使用默認寄存器才起作用,但這種映射很容易記住)。寫一個更精細的版本將是可能的。此外,你仍然可以使用P來獲得舊的行爲。
我經常使用的另一個註冊表,副本,需要進行一些名爲註冊表"ay
線,然後從那裏"ap
"0
粘貼應該有你抽出的內容。輸入起來有點繁瑣,但是"0p
應該做你想做的。
或者,不要選擇並替換舊的線路。如果您搜索到這些行,只需點擊n.
(在初始p
之後),然後當它們全部粘貼時,根據需要執行ndd
,然後再按n.
s。
移動到Vim時,我需要做的最大的心智轉換是弄清楚如何按順序應用組編輯。即而不是在一條線上做一堆編輯,然後在另一條線上做一堆相同的編輯,我會在一堆線上進行第一次編輯(使用.
效果很好),然後對一堆進行第二次編輯或者,宏的使用可能會有所幫助,因爲它們非常棒,但有時在「複雜」更改中正確工作會稍微繁瑣一些。
感謝您的提示! – mt22
聽起來像一個正則表達式,確認':%s /.../.../ gc'類型命令可能更接近你想要的位置 – Milimetric
@Milimetric +1不知道你可以這樣確認。 – ngks
而不是使用複製/粘貼,使用文本對象命令(如ciw
)來更改內部單詞通常會更好。此方法的優點是可以使用.
重複命令輕鬆重複。
yiw
拉內字(在光標下複製字,說「第一個」)。ciw<C-r>0
將「second」更改爲「first」(即Ctrl-R)。.
更改「第三」,將其替換爲「第一」。
聰明。'p'粘貼,'gv'重新選擇最初選擇的內容。 'y'再次複製它 – Amjith
@Benoit感謝,似乎工作 – jwerre
如果得到'xnoremap:command not found',我應該怎麼做?: -/ –