viで最低限必要なことを覚えておけば、設定ファイルのの編集ができるようになるから、次の章に進むのもよいと思う。ここでは、もう少し便利にviを使う方法を紹介したいと思います。
行番号がないなぁ
viを起動すると行番号がないのに気づきますね。行番号がないと何かと不便ですね。そのような場合は以下のようにします。
まずEscキーを押してコマンドモードにしてください。その後に以下のように入力してEnterを押してください。
:set number
するとびっくり、行番号が左にでてきます。
うおー、viを再起動したら行番号が消えてしまった
上記のコマンドは永続的に続くものじゃなくって、viを立ち上げている間だけ効力があります。そういう場合は、設定ファイルを使います。設定ファイルに記述しておけば、viを立ち上げたときにそのコマンドを実行してくれます。
viの設定ファイルはユーザーのホームディレクトリにある.vimrcです。そんなファイルはないって? デフォルトでは存在しないので作成する必要がありますね。
cd ~
vi .vimrc
cd ~とすることで、ホームディレクトリに移動することができます。チルダはユーザーのホームディレクトリを意味する特殊文字です。
viを使って.vimrcを作成しましょう。そしてiを押して、編集モードになったら次のように入力しましょう。
set number
viの設定ファイルに書く場合は、コロンは先頭にはいりません。コロンなしで書きます。そしたらEscを押してコマンドモードになって、:wqと入力して保存して終了しましょう。するとファイルができています。
Linuxでは.で始まるファイルは隠しファイルになります。設定ファイルは隠しファイルであることが多いです。通常のlsコマンドでは、ファイルに一覧されませんがaオプションを使うと隠しファイルを含めて見ることができます。
ls -a
これで.vimrcというファイルができていることが確認できましたね。viでテキストファイルを開いてみましょう。行番号が最初から表示されるのがわかると思います。
タブで空白入力したい
プログラマであれば、タブではなくって、タブキーで空白入力したい人も多いでしょう。
set expandtab
タブ幅を設定したい
プログラマであればタブ幅も設定したいですね。
set tabstop=2
改行したときに字下げをしたい
プログラマであれば改行したときに、先頭に戻るのではなくって、字下げをしたいですね。
set autoindent
設定ファイルが大きいので、ファイルの末尾に移動したいぞ
末尾に移動したい場合はコマンドモードでGと打ちます。
G
好きな行番号に移動したいぞ
好きな行番号に移動したい場合は数値Gとします。
1G
25G
1Gだと1行目、25Gだと25行目に移動できます。
文字列を検索したいぞ
検索したい場合はまずコマンドモードで、/と打ちます。スラッシュを打ちます。すると以下のようになります。
/
そうしたらここに検索したい文字を打ち込みます。
/foo
そうしたらEnterと押してください。これで検索ができます。次のマッチした位置に進みたいときはnを押します。戻りたい時はNを押します。これで検索ができます。
n 進む
N 戻る
コピーしたいぞ
ちょっとまってください。この後にSSHを解説するときにTeratermというツールを紹介します。これを使うと、文字列を選択してコピーすることができます。
ペーストしたい
これもTeratermを紹介するまで少しお待ちください。右クリックでペーストできます。
たくさんの範囲を削除したい
deleteやback spaceでも削除できますが、いっぺんにたくさんの範囲を消したい場合がありますね。1行削除はコマンドモードで次のように打ちます。
dd
複数行を削除したい場合はこの直前に、削除したい行数を記述します。
5dd
Perlを実行したいぞ
サンプルコードにPerl入門ということで、viからperlを実行する方法を最後に紹介!
!perl スクリプト名
これだけ覚えれば、設定ファイルの編集がだいぶ楽になると思います。