我想在當前vim緩衝區的每一行上寫入JJ
。由於我的文件非常龐大,因此無法在每一行上手動運行。我如何告訴vim爲我做這件事? 基本上我有一個文件,它有單列中的數據。我想將它轉化成三列在vim緩衝區的每一行上運行vim命令
a
b
c
到:
a b c
我想在當前vim緩衝區的每一行上寫入JJ
。由於我的文件非常龐大,因此無法在每一行上手動運行。我如何告訴vim爲我做這件事? 基本上我有一個文件,它有單列中的數據。我想將它轉化成三列在vim緩衝區的每一行上運行vim命令
a
b
c
到:
a b c
據我所知,JJ
不是一回事。 J連接線。如果你想這樣做,整個文件,您可以使用可視化模式,選擇整個文件,然後使用Ĵ:
ggVGJ
不,這會將所有行合併成一行。我只想連續行被合併。 –
@ username_4567:哦,那麼'Jj'?可能有更好的方法,但是可以將它記錄爲宏:'ggqjJjq
:g/^/join
整個緩衝加入連續行(1 + 2,3 + 4,等等...)。您還可以向:global
命令提供[range]
命令,該命令僅用於其智能線路處理; ^
正則表達式匹配任意行。
要加入連續行,使用
:g/^/.,.+2join
或
:g/^/join|join
(前者可能得到一個錯誤,如果線的總金額不被3整除;所述後者避免)
而另一個:
:%norm JJ
請參閱:help :normal
。
比我的簡單。我想我被這個問題的標題想到了':global'。 –
也許重複[在Vim中,將文件中所有行加入單行的最簡單方法是什麼?](http://stackoverflow.com/questions/391710/in-vim-what-is-the - 最簡單的方式加入單行文件) – bimlas
請學習使用markdown來防止他人浪費時間在格式不正確的問題上。 – romainl
@BimbaLaszlo問題的期望輸出不是單行。 – Kent