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 で無効にするまで消えません。

直接的な方法は :nohlsearch(省略形 :noh)です。現在のハイライトだけを消し、 hlsearch 設定自体は無効にしないため、次の検索結果は再びハイライトされます。

/set、:noh、n の順に実行してください。検索履歴と次の一致への移動は残り、 ハイライトだけが消えたことを確認できます。

頻繁に使う場合は .vimrc に nnoremap <Esc><Esc> :nohlsearch<CR> を追加できます。 Esc を 2 回押すとハイライトを消せます。nnoremap はノーマルモードだけで有効な、 再帰しないキーマッピングを作ります。

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

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

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

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

インデント ​

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

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

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

自動整形 ​

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

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

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

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