Skip to content

第 4 章:便利なテクニック

Vim の基本設定

「良い仕事をするには、まず道具を整えよ」と言います。Vim は非常に強力ですが、 デフォルトの設定は簡素です。開発で使いやすくするため、いくつか設定を加えましょう。

  • :set number 行番号を表示
  • :set relativenumber 相対行番号を表示(とても重要なので、じっくり体感してください)
  • :set hlsearch 検索結果を強調表示
  • :set autoindent 自動インデントを有効化
  • :set smartindent スマートインデントを有効化
  • :set tabstop=4 タブ文字の幅を 4 に設定
  • :set softtabstop=4 tab を押したときのインデント幅を 4 に設定
  • :set shiftwidth=4 自動インデント幅を 4 に設定
  • :set expandtab タブを空白へ展開
  • :filetype on ファイルタイプ検出を有効化
  • :syntax on 構文ハイライトを有効化

これらのコマンドで Vim を設定できますが、設定が有効なのは現在の Vim を閉じるまで です。終了して再度開くと、設定は失われます。

設定を永続化するには、Vim が自動的に読み込む設定ファイルを編集します。一般的な パスは Linux では /home/<user>/.vimrc、Mac OS では /Users/<user>/.vimrc です。

ファイルがなければ新規作成します。Mac OS を例に進めます。

コンソールで次のコマンドを実行します。各行の最後で Enter を押してください。

bash
cd ~
vim .vimrc

これで Vim 専用の設定ファイルを Vim で開きました。上で紹介した設定をファイルへ コピーし、各行先頭の : を削除してください。

編集後に :wq または ZZ を実行して保存し、終了します。次に Vim を起動すると 設定が反映されます。

サンプルの vimrc も用意しています。cp vimrc.vim ~/.vimrc で そのまま使用できます。Vim を再起動するか、Vim 内で :source ~/.vimrc を 実行すると設定が反映されます。

[PR] 作者がメンテナンスしている別のプロジェクト The 7th Vim では、より充実した設定例を 確認できます。

検索ハイライトを消す

上で紹介した設定には、すべての検索結果を強調する :set hlsearch があります。 /?*# で検索すると、一致した箇所がすべて強調表示されます。

この設定が有効なら、/set を実行してください。

検索結果が一目で分かりますが、確認後も強調表示は残り続けるため、邪魔になることが あります。:set nohlsearch で無効にするまで消えません。

必要なときだけ有効にして、不要になったら無効にするのは面倒です。もっと良い方法が あります。答えは次のとおりです。

存在しない文字列を検索する

私は通常 /lfw で検索ハイライトを消します。lfw という並びは通常ほとんど 現れず(この文書にはありますが……)、指をほとんど動かさず楽に入力できるからです。 実際に試してみてください。

直前のコマンドを繰り返す

Vim には、直前のコマンドを繰り返す特別なコマンド . があります。

次の指示に従って操作してください。

dd を押してこの行を削除する
. を押して削除操作を繰り返す
2. を押してさらに 2 行削除する
この行は消えます
p を押して元に戻す
3. を押してさらに 6 行追加する

インデント

  • >> 現在の行を右へインデント
  • << 現在の行を左へインデント

この行で順に 3>><<<G を押し、効果を確認してください。

「しょうゆを買いに行く」行へ移動してください。

自動整形

  • == 現在の行を自動整形
  • gg=G 文書全体を自動整形
  • <N>== 現在の行から N 行を自動整形
  • =<N>j 現在の行と下の N 行を自動整形
  • =<N>k 現在の行と上の N 行を自動整形

第 2 章で紹介した対応記号の検索を使い、コードブロックをまとめて 整形することもできます。gfchapter04-demo.js を開き、 ファイル内の指示に従って操作してください。

スマートインデントが有効なら、第 2 章と同様の整形結果になります。

次の章では、画面分割とタブページを紹介します。