web-dev-qa-db-ja.com

一度に複数行にコメントする方法は?

一連のテキストを選択してコメントアウトするにはどうすればよいですか?

現在、最初の行に移動し、挿入モードに移動して#と入力します left-arrowdown-arrow 次に、そのシーケンスを繰り返します。おそらく、.繰り返し機能を使用して各行を実行することにより、いくつかのキーストロークを節約します。

とにかく、(たとえば)ビジュアルモードで複数の行を選択するか、行の範囲とex( 'colon')コマンドを使用して、その範囲に対して#ですべての行をコメント化して、それらは「ブロックコメント」です。

ブロックコメントをすばやく「コメント解除」する(#を削除する)機能もいいでしょう。

92
Michael Durrant

範囲:

次のコマンドで実行できます。

コメント用:

:66,70s/^/#

コメントを外す場合:

:66,70s/^#/

明らかに、ここでは66行目から70行目までを含めてコメントしています。

119
periket2000

ビジュアルブロックモード

まず、コメントを付けるブロックコードの最初の行の最初の文字にカーソルを移動し、次のように入力します。

Ctrl + v                                    

その後、vimはVISUAL BLOCKモードに入ります。 jを使用して、コードブロックの最終行に到達するまでカーソルを下に移動します。次に、次のように入力します。

Shift + i

vimはINSERTモードになり、カーソルは最初の行の最初の文字にあります。最後に、#を入力してからESCを入力すると、コードブロックにコメントが付けられます。

コメントを解除するには、同じことを行いますが、Shift + Iと入力する代わりに、xと入力して、#モードでハイライト表示した後、VISUAL BLOCKをすべて削除します。

147
cuonglm

代替

完全を期すために、ここに別の方法があります。

  1. vを押してビジュアルモードに入ります
  2. コメントしたい行を選択(up/down矢印またはj/k
  3. 入る :s/^/# /これは次のように変換されます:選択中(:)行頭の置換(^)「#」付き
20
reto

マーカー:

次の手順は、コマンドモードで実行されます。

  1. 最初の行に移動し、mtでマーカーを設定します
  2. 範囲が欲しいところまで行きます
  3. コマンド:'t,.s/^/#/を発行します

説明

  • m#、ここで#は任意の文字を示し、現在の場所にマーカーを配置します。場所は後で'#を使用して参照できます。ここで、#は以前と同じ文字です。私たちのケースでは、tという文字を使用しました
  • コマンド:'t,.s/^/#/は次のように読み取ります:
    • :複雑なコマンドの接頭辞
    • 't,.は、次のコマンドが適用される範囲を定義します。この例では、マーカー'tから現在の行.までです。
    • s/^/#/は、すべての行頭^をリテラル文字#に置き換える置換式です。
10
Chandra kant

プラグイン

plugin があり、使用されているファイルシステムに基づいてコメントアウトする効率的な方法を提供します。

また、これは answerNERD commenter for vim。プラグインの使用方法に関するより基本的な説明はほとんどありません ここ

5
Ramesh

前述のいずれかのNERDCommenterを使用しますが、それが利用できない場合は、ビジュアルモードを使用します。私はVisual Lineモードに入り、選択を行います。多くの場合、空白のブロックなので、 V{ 次に、ビジュアルブロックモードに変更します。 Ctrl+Q 次に、行の先頭にコメント記号を挿入します I、テキストのブロックをコメントアウトするには、私はやります

V{<C-Q>I#<Esc>
1
TankorSmash