Vim の文字削除は、カーソルを文字に移動して「x」と、簡単でおぼえやすいのですが、この方法では改行コードにカーソルが合わないので、「改行」を削除できません。
この記事では、Vimにおける改行の削除の方法を詳しく見ていきます。
目次
挿入モードで改行の削除する方法
「i」を押して「挿入モード」に移行し、「DELETE」キーで改行を削除することができます。挿入モードでは「ENTER」で改行を入力できますので、VIM以外のエディタ同様、直感的な操作が可能です。
ノーマルモードで改行を削除する方法
Vimのノーマルモードでは、通常、行の削除などの文書の整形を行いますが、その中で「行を連結する」という操作があります。
ESCでノーマルモードに切り替え、所望の行までカーソルを移動したら、下記のコマンド改行を削除できます。
// カーソルのある行とその直下の行を連結する。
J
「SHIFT + j キー」である点にご注意下さい。この方法で、カーソルのある行の末尾の改行が削除でき、その下の行と連結できます。
改行を削除して、間にあるスペースを維持する場合
上記の「J」では、連結後に間にある余分なタブやスペースを自動で削除してしまいます。下記の方法でスペースを維持することもできます。
// カーソルのある行とその直下の行を連結する。その間にあるスペース・タブを維持する
gJ
半年前にも、同じ話をどこかで見た気がするよ〜。わすれちゃうんだよね。
[参考] Vim で改行を挿入する方法
参考まで、ノーマルモードで改行を挿入するコマンドもおさらいです。
// カーソルのある行の直下の行を追加する
o
// カーソルのある行の上に改行を挿入する
O
これらのキーでは、改行を入力して、インサートモードに移行します。
文書内のすべての改行を削除する方法
ドキュメント内のすべての改行を削除する事もできます。ノーマルモードにコマンドラインから、下記を入力し、改行を空文字置換します。
// ドキュメント内の改行をすべて削除する。
:%s/[\r\n]//g
UNIX 系やMacOSにおける改行コードはは「\n」, 古いMacOSですと「\r」 Windows系ですと「 \r\n」となっています。上記はすべてをマッチする正規表現を空文字に置換して、あらゆる改行コードを削除します。
j は「JOIN(連結)」の「J」なのじゃ、行を連結じゃ!これでもう覚えたじゃろ!