Skip to content

第 2 章:ファイルを開く、内容を検索する

ファイルを開く

これで Vim でファイルを開く方法を一つ覚えました。最も一般的な方法ではありませんが、 コードから参照されているファイルを開くときには、とても直接的な方法です。ここでは ほかによく使われる二つの方法を紹介します。

Vim でファイルを開く

  • :e <filename> <filename> という名前のファイルを開く。存在しない場合は新規作成
  • :Ex Vim でディレクトリツリーを開く。- で親ディレクトリへ移動し、対象を選んで Enter を押すとファイルを開く

検索

文書内を検索する

  • * カーソル位置の単語を文書の末尾方向に検索
  • # カーソル位置の単語を文書の先頭方向に検索
  • /<search> 指定した文字列を文書の末尾方向に検索
  • ?<search> 指定した文字列を文書の先頭方向に検索
  • n 現在の検索方向に次の一致を検索
  • N 現在の検索と反対方向に次の一致を検索

注意:nN には方向があります。直前に * で検索した場合、n は文書の 末尾方向、N は先頭方向へ検索を続けます。逆に # で検索した場合、n は 文書の先頭方向、N は末尾方向へ進みます。

行内を検索する

  • f<X> 行末方向にある文字 X を検索し、その文字へ移動
  • t<X> 行末方向にある文字 X を検索し、その直前へ移動
  • F<X> 行頭方向にある文字 X を検索し、その文字へ移動
  • T<X> 行頭方向にある文字 X を検索し、その直後へ移動
  • ; 現在の方向で次の文字を検索
  • , 現在と反対の方向で次の文字を検索

この文書には "Vim" という単語がいくつかあります。*# を使い、nN の方向を体感してください。

上の「注意」には "n" がいくつかあります。行内検索を試し、;, の方向も 体感してください。

対応する記号へ移動する

Vim では % を使って ()[]{} の対応を検索できます。 いずれかの記号にカーソルを置いて % を押すと、対応するもう一方の記号へ移動します。

次のテキストにある ()[]{} の上で % を押して効果を確認し、その後 n を 押して検索を続けてください。

javascript
const func = (win, doc) => {
  const SEVEN = ((1 + 2) * (3 + 4) * (5 - 6)) / 7;
  const YU = [1, 2, [[3, 4], 5, 6], 7];
  if (true) {
    return SEVEN;
  } else {
    return YU;
  }
};

次の章では文書の編集を紹介します。その前に、Vim のバッファを 簡単に説明します。バッファは、現在の Vim セッションで開いたファイルの履歴だと 考えてください。

現在、バッファには二つのファイルがあるはずです。:buffers または :ls で 確認できます。バッファ一覧はおおむね次のように表示されます。

vim
:ls
  1 #h   "chapter01.md"                  line 63
  2 %a   "chapter02.md"                  line 1
Press ENTER or type command to continue

次のコマンドでバッファを切り替えられます。

  • :bn バッファ内の次のファイルを開く
  • :bp バッファ内の前のファイルを開く
  • :b<N> N 番目のファイルを開く

閉じたいバッファは :bdelete<N> で削除できます。省略形は :bd<N> です。

:Ex を使って chapter03.md を選択して開くこともできます。 第 3 章へ進みましょう。