
我用 剪了一條線dd,然後我想將整條線貼到另一條線的末端。但問題是,因為dd剪切了整行,所以它也可能包括換行符。
因此,當我貼上 via 時p,它會自動將其放在下一行。如果我這樣做Shift+ p,它會將其放在我要貼上的行之前。
那麼有沒有辦法將我剪下的整行貼到行尾呢?
答案1
要剪切一行而不換行,可以在遊標位置按d$
或。D
要將其貼到另一行的末尾,您可以轉到該行的末尾,然後按p
。如果您無法按預期貼上該行,您可以轉到要貼上的行尾。然後,按i
,然後按<C-R>
(Control-R) 和"
(雙引號)。您最近剪下或複製的文字將被貼上。
答案2
透過將行貼到目前行之後,p只需按前一行中的另一行j即可連接兩行,從而消除不需要的換行...
答案3
目前我能想到的最好的解決方案是:
A<C-r>+
意思是:在行尾啟用插入模式,貼上暫存器的內容+
。
它還會貼上換行符。dd
只是在整行上運行(縮寫1dd
)。
答案4
事實上,通常的用例如下:您想要刪除完整的行(包括換行符,所以d$
/D
不起作用,因為留下空行),但將其粘貼到末尾或某些現有行內,無需創建新的。
我的無條件貼上插件提供多種映射,可自動將暫存器內容轉換為所需的用例。你的例子是dd
,移動到目標線,$gcp
。gcp
是映射按字元貼上。