在Vim中,當我這樣做:Vim的全部更換,而不移動光標
:%s/foo/bar/g
它將替換整個文檔中的「酒吧」「富」的所有發生。完成後,光標移動到「foo」替換爲「bar」的最後位置。
在發出此命令之前,您如何在沒有光標離開原始位置的情況下運行:%s/foo/bar/g
?
是否有一些選項可以在.vimrc
文件中設置?
在Vim中,當我這樣做:Vim的全部更換,而不移動光標
:%s/foo/bar/g
它將替換整個文檔中的「酒吧」「富」的所有發生。完成後,光標移動到「foo」替換爲「bar」的最後位置。
在發出此命令之前,您如何在沒有光標離開原始位置的情況下運行:%s/foo/bar/g
?
是否有一些選項可以在.vimrc
文件中設置?
當運行:substitute
命令時,在實際替換完成之前,光標位置將被存儲在跳轉列表中。爲了在最新跳轉之前返回 的位置,可以使用``
或''
正常模式 命令。當前者跳轉到存儲位置時,後者 將光標移動到該位置所在行上的第一個非空白字符。
所以,能夠快速返回光標回到原來的位置,類型替換命令完成 ``後。
要結合代並且光標移動到一個命令,發出
:%s/pat/str/g|norm!``
,或者,如果它是足夠不跳轉到精確的位置,但僅到其線,
:%s/pat/str/g|''
作爲如上所示,因爲Ex命令的範圍語法(請參閱:help :range
),因此優先於第二個 命令中的norm!''
。
不確定如何移動光標而不移動光標,但可以通過單擊兩次將其移回。 –