Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimのブロック選択とインデントを使ってコメントを整形する。

$
0
0

例えば各行に書いてあるコメントのインデント位置を調整したい場合

適当なコメント.cpp
std::cout<<"◆お菓子"<<std::endl;// 適当なコメントSingleton*obj=Singleton::getInstance();// 適当なコメントobj->Introduce();obj->setName("妖精さん");// 適当なコメントobj->Introduce();

まずは調整したい行をVなどで範囲選択して置換。

何の変哲もない置換.txt
今回はコメントの「//」を目印に置換。置き換える先はタブ文字なり、半角スペースなり任意で。
ただし、一番長い行よりもコメントが後ろに来る位十分に割り当てます。
:'<,'>s/\/\//                      \/\//

これを実行すると

置換後のテキストはこうなる.cpp
std::cout<<"◆お菓子"<<std::endl;// 適当なコメントsingleton*obj=singleton::getinstance();// 適当なコメントobj->introduce();obj->setname("妖精さん");// 適当なコメントobj->introduce();

その後、インデントを揃えたい位置にカーソルを持って行き<C-v>で縦にブロック選択します。
今回は分かりやすいように#をブロック範囲の反転表示と見立てています。
(ブラウザのフォント等によって#の位置がズレて表示されますが縦一直線と思ってください。)

こんな感じの範囲にする.cpp
std::cout<<"◆お菓子"<<std::endl;#// 適当なコメントSingleton*obj=Singleton::getInstance();#// 適当なコメントobj->Introduce();obj->setName("妖精さん");#// 適当なコメントobj->Introduce();

ここでブロック選択の範囲がインデントを揃えたい行だけに表示されていることが重要です。
コードの部分を選択範囲に含めてしまうと、この後のインデント操作が間違って適用されるので注意。

選択範囲が決まったらブロックで表示が反転している状態で<コマンドでインデントを行います。
適用する際は十分に大きいインデント量100<などを適用してください。
(ブラウザのフォントによっては//の位置がズレて表示されますが揃ってるものとしておいてくださいorz)

調整用のインデント適用後.cpp
std::cout<<"◆お菓子"<<std::endl;// 適当なコメントSingleton*obj=Singleton::getInstance();// 適当なコメントobj->Introduce();obj->setName("妖精さん");// 適当なコメントobj->Introduce();

するとブロック範囲よりも左側にはインデントが適用されませんので選択した位置でコメントが揃います。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>