Linux初心者にとって最大の敵、viエディタと仲良くする方法
Linuxで編集作業をするとなると避けて通れない「vi(ブイアイ)エディタ」。
「viエディタ」はマウスの普及していない時代に開発された編集ツールです。そのためマウス操作に慣れた人には、とっつきにくい印象を与えます。
ちなみにCentOS5.8ではデフォルトでviの派生版である、「vim(ヴィム)」がインストールされています。そのなかでも最小オプションである「vim-minimal」というタイプになります。
viを実際に操作します
前回解説したターミナルエミュレータ(Tera Term等)でログインしてください。
一般ユーザーで「cdコマンド」を入力してEnterを押してください。
「cd」はディレクトリを移動するコマンドです。ディレクトリを何も指定しないと「ログインしているユーザーのホームディレクトリ」に移動します。
(特別に設定していない場合は「/home/ユーザー名」)
※コマンドラインの見方
「コマンド」「引数、その他」「コメント」「#(rootユーザ)」「$(一般ユーザ)」
$ cd
続けてviエディタで新規にファイルを作成します。今回は仮に「text」というファイルを作成します。
$ vi text
すると以下のような画面になると思います。
画面下にある「“test” [New File]」はtestという新しいファイルを作成したという表記です。
コマンドモードと編集モード
この画面がviエディタの「コマンドモード」の画面です。別名「編集モード」ともいいます。
この時点でキーボード入力をしても文字は入力できません。文字を入力するには「入力モード」に切り替える必要があります。
「入力モード」へ切り替えるには「a」もしくは「i」を押します。(個人的にインサートモードのiと覚えたほうが、覚えやすい気がします)
では実際に「i」を押して「入力モード」へ切り替えてください。
下の画像のように「“test” [New File]」という表記から、「— INSERT —」という表記に変わったと思います。これが「入力モード」です。
編集モードで文字の入力
それでは何か文字を入力してみてください。入力が終わったらキーボードの「Escキー」を押して「コマンドモード」へ移行してください。
「Escキー」を押すとページ下部にあった「— INSERT —」の表記がなくなるのが分かると思います。
変更したファイルを保存して終了
最後に保存して終了します。保存するにはコマンドモードで「:w」というコマンドを入力します。viエディタを終了するには「:q」と入力します。合わせて「:wq」で「変更を保存して終了」というコマンドになります。
それでは「:wq」と入力してEnterを押し、viエディタを終了してください。
ファイルが作成されているか確認するために、現在のディレクトリのファイルを表示する「ls」コマンドを入力してください。
$ ls
「test」というファイルが作成されています。
以上、2つのモードを行き来する方法と、保存方法さえわかれば、なんとか設定ファイルの編集が可能になります。
実際の設定ファイルを編集する場合の流れは
1.「コマンドモード」でファイルの閲覧して、編集する場所を探すために検索。
2.「入力モード」でファイルを編集。
3.再び「コマンドモード」へ移行して、「:wq」で保存して終了。
というのが基本的な流れになります。
viエディタで編集する際に覚えておきたい実用的なコマンド操作
実際の編集作業をする上で、覚えておくと楽になるコマンドの一覧です。1度に全部覚えようとすると大変なので、今は「こんなことが可能なのか」と把握しておいてください。編集作業で必要になった時に、1つ1つ試してみてください。
ファイルの操作関連
上書き保存 | :w |
---|---|
終了 | :q |
保存して終了 | :wq |
保存せず終了(強制終了) | :q! |
行番号を表示 | :set number |
行番号の表示を毎回する場合は「echo “set number” >> ~/.exrc」とコマンドを打つと次回からデフォルトで行番号が表示されます。
カーソル・ページ操作
カーソルを左へ移動(矢印キーでも可能) | h ( ← ) |
---|---|
カーソルを右へ移動(矢印キーでも可能) | j ( ↓ ) |
カーソルを上へ移動(矢印キーでも可能) | k ( ↑ ) |
カーソルを右へ移動(矢印キーでも可能) | l ( → ) |
上下へ移動(Tera Termの場合) | マウスのホイール |
行頭に移動 | 0(数字のゼロ) |
行末に移動 | $(ドル) |
次のページへ移動(矢印キーの上にあるPageUpキーも利用できます) | Ctrl+b |
前のページヘ移動(矢印キーの上にあるPageDownキーも利用できます) | Ctrl+f |
文字の操作
1文字カット(カーソルが乗っている文字) | x |
---|---|
1行カット | dd |
数字の行数だけ削除 | 数字dd |
1行コピー(viではコピーはヤンクといいます) | yy |
数字の行数だけコピー | 数字yy |
ペースト | p |
コピー(Tera Termの場合) | Alt+c |
ペースト(Tera Termの場合) | 右クリック、Alt+v |
検索
文字列hogeを検索 | /hoge |
---|---|
次に見つかったhogeに移動(小文字のn) | n |
前に見つかったhogeに移動(大文字のN。Shift+nキー) | N |
やり直し
直前の操作を取り消す。UNDO | u |
---|---|
直前の取り消しを取り消す。REDO | Ctrl+r |
冒頭で最大の敵と言いましたが、慣れさえすれば最大の味方になります。
事実多くのプログラマーがviを利用してコードを書いています。信じられないかもしれませんが、熟練したvi職人(素人からするともはや職人芸w)の作業は、キーボードから一切手を離さず入力を続けるため、一般エディタでの操作よりも何倍も高速です。
毛嫌いせずにどんどん使いこなしましょう。
次は「Linux初心者こそ押さえたい、失敗しない設定ファイルの編集方法」を解説します。
初めまして。
大学4年生で、Ruby on railを独学で勉強しております。
Gemfileの編集でvi エディタを使う際に編集の仕方に一日つまづいていたところ、
本ページを見つけたことで解決することができました!
本当に助かりました。
感謝の気持ちを是非伝えたいと思い、コメントをした次第です。
初心者にもとてもわかりやすく書かれていましたので、引き続き参考にさせていただきます!
コメントありがとうございます。
お役に立てたようで何よりです。