OXY NOTES

Linuxの鬼門、viエディタの基本的な操作方法と実用的なコマンド

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初心者こそ押さえたい、失敗しない設定ファイルの編集方法」を解説します。