Server

7. vim(vi)の基本的な使い方

 参考書には、vimの詳細な使い方が書いてあります。ただ、UNIX系OSに慣れていない人があれをみると、かなりひるむと思います。なんだか難しくて覚えられないと。

 それは、全部の使い方を一度に覚えようとするから、難しく感じるだけです。以下に述べる、ごくごく基本的な使い方だけマスターして、後は使いながら、こんな機能はないかな? と思ったときに、改めて参考書を読んだり、インターネットで参考文献を探したりすればいいだけです。

 なお、vimがインストールされていない環境では、以下に書いてある、vimの部分をすべてviに置き換えて読んでください。

 以下にvimの使い方を説明します。とりあえず、以下のコマンドを入力して、vim で test.txtというファイルを作ってみましょう。

vim test.txt

 モードとか難しいことは考えなくていいです。とりあえず、画面の下を見てください。そこに、INSERTと書いてあれば、文字が打てます。逆になければ、文字が打てずに、コマンドを入力することになります。

 起動直後であれば、下に変な英語とかが出ていると思います。この状態では文字が打てません。とりあえず、iと入力しましょう。そうすれば、文字が打てます。画面の下をみると、INSERTと書いてあるのが分かると思います。

 文字を打って、3行ほど適当に入力してください。内容はなんでも構いません。打てたら、[Esc]キーを押します。INSERTが消えたと思います。この状態は、難しく言うと、コマンドモードといって、文字が打てずにコマンドを打たなくてはならない状態です。とりあえず、この状態になったら、iを押せば文字が打てる、だけを覚えましょう。

 初心者でありがちなのが、どちらのモードかわからなくなることです。そのときは、慌てず騒がず、[Esc]キーを押します。どちらのモードであっても、コマンドモードになりますから、そこから、改めてiを押して文字を入力すればいいのです。

 参考書には、行頭へとか、次の単語へとか、いろいろとコマンドが書いてありますが、覚える必要はありません。慣れてから覚えましょう。素直にカーソルキーで移動すればいいのです。

 とりあえず、今の状態を保存しましょう。コマンドモード(わからなければ、とりあえず[Esc]を押す)にして、:wと押して[Enter]を押しましょう。これで保存です。最初に:が必要なことだけ、忘れないようにしましょう。

 終了は、:qと押して[Enter]です。いったん終了しましょう。もう一度、以下のコマンドを入力して、開き直してみましょう。

vim test.txt

 先ほど書いた内容が表示されると思います。ちなみに、保存して終了は:wqです。内容を間違って書き込んでしまって、保存せずに終了したかったら、:q!と入力します。

 ちなみに、変更した状態で、:qと押して終了しようとすると、警告が表示されます。そんなときは、慌てず騒がず、もう一度[ESC]キーを押して強制的にコマンドモードにしてから、保存するなら:wqと改めて押して、保存して終了します。保存せずに終了したかったら、改めて、:q!と入力するだけです。ファイル名を変更して保存ですか? 覚えなくていいです。vimを終了してから、普通にcpコマンドを使って先にコピーしてから、書き換えればいいだけです。

 初心者でありがちなのが、コマンドモードで文字を入力しようとして、下方向になんだか変なウィンドウが開いて、カーソルがそっちにいってしまって、入力できない状態です(下図。ちなみに、後述する、Windowsからリモート操作画面です)。この状態になったら、とりあえず、終了コマンドである、:qを押しましょう。そうすると、変なウィンドウが閉じて、元の画面に戻ります。

vim

 また、操作をあやまって、変な文字列がハイライト表示されることがあります。その時は、慌てずに、:nohlsと入力すれば、ハイライトが消せます。

 本稿では、設定ファイルの何行目あたりを編集、という言葉がよくでてきます。ですので、次のコマンドだけ、覚えてください。:set nuで行番号表示です。実際に入力して表示してみてください。間違って、コマンドではなく、文字を書いてしまった場合は、普通に[Delete]キーで消したり、バックスペースキーで消したりすればいいだけです。焦らなくても大丈夫。慣れるまでは、コマンドを打つ前には、何も考えずに[Esc]を押して、強制的にコマンドモードにする癖をつけるのも、いいかもしれません。行番号表示を消すときは、あまりないかもしれませんが、一応書いておきます。:set nonuです。

 次に覚えるのは、指定した行に移動する方法です。例えば、15行目に行きたかったら、15Gと入力すればいけます。このコマンドには、先頭に:がいりませんから、注意してください。また、大文字ですから、シフトを押しながら入力しましょう。もしあやまって、変な状態になったら、慌てず騒がず、[Esc]を押して、コマンドモードにしましょう。間違って入った文字は、それからiを押して、ゆっくりと消せばいいのです。

 ファイルの先頭行に行きたい場合は、行番号に1を指定するだけです。そう、1Gと入力するだけです。最終行に行きたい場合は、行番号を入力せずに、Gと入力するだけです。

 最後に覚えるのは、コピペの仕方です。yyで1行コピーします。pと押せば、次の行にペーストされます。3行まとめてコピペしたかったら、3yyと、最初に数字をつけるだけです。張り付け方も変わりません。pでペーストします。

 でも、この方法だと、繰り返しのペーストはできません。そんなときは、”ayyと入力してコピーし、”apと入力を繰り返せば、繰り返しペーストできます。先頭に”aが必要なことだけ注意してください。

 3行コピーして、繰り返し張り付けたいときは、”a3yyとしてから、”apです。参考文献をみると、名前付きバッファがどうのと書いてありますが、それらは、操作に慣れてから、ゆっくりと見ればいいだけです。

 では、快適なvim(vi)の旅をお楽しみください。