概要
よく忘れるのでここにメモメモ。。。知っているとちょっと楽できます。
頻繁に使うわけではないのですが、たまに以下のような作業が必要なときがあります。
- 指定範囲の各ステートメントの後ろに ; を付けたい
- 指定範囲を全部コメントアウトしたい
- 指定範囲のコメントアウトを全部外したい
どのエディタでも出来ることなのですが、vimだとビジュアルモードとオペレーションコマンドの組み合わせでいい感じにできます。
指定範囲の各ステートメントの後ろに ; を付けたい
javascript で、コーディング規約上でセミコロンが必須の場合って結構あります。
文法上、行末に自動でセミコロンを入れてくれるので付けてなくてもエラーにはなりません。
ですが、プロジェクトとして必須にしてる場合は対応が必要ですね。
例えば、以下のようなコードがあったとします。
各行の末尾に移動して ; を一つずつ打っていってもなんの問題もないですが、以下のようにもできます。
まず、ブロック志向のビジュアルモードに Ctrl+V で入り、必要な行を選択します。
んで、その後に $ を押して行末まで選択状態にします。
この状態で、A
を押します。ノーマルモードの a
と同じ意味となります。
んで、必要な文字を打ちます。今回だと ;
ですね。
そうするとこうなります。
最初の行しか入力されていません。ですが、ここからEscを押してノーマルモードに戻ると
こうなります。
指定範囲を全部コメントアウトしたい
今度は、行頭に何かを入れたいので I
を使います。ノーマルモードの i
と同じ意味となります。
まず、ブロック志向のビジュアルモード (Ctrl-V) で、対象となる行を選択します。
この状態で I
を押します。そうすると入力できる状態になるので //
を入力します。
先頭の行だけ入力されますが、その後にEscを押すと
となります。
指定範囲のコメントアウトを全部外したい
今度は、文字を削除したいので X
を使います。ノーマルモードの x
と同じ意味となります。
削除したい箇所をブロック志向のビジュアルモード (Ctrl-V) で選択します。
その後に X
を押します。そうすると
となります。A
とか I
と違って、Escでノーマルモードに戻らなくても即反映されます。そういうものと覚えましょう。
参考情報
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場