
| viでテキストファイル編集 |
viを使ってテキストファイルの編集をする方法をここでは紹介していきたいと思います。
viには、コマンドモードとテキストモードという2つのモードが存在します。
コマンドモードでは、ファイルの保存ですとか、検索、移動などが基本になります。
テキスト自体の編集は、テキストモードで行います。
| カーソルの移動 (コマンドモード) |
先ずはviで何でもいいので、ファイルを開いてみます。例えば、fileというファイルを開きたい場合には、
| $ vi file |
とすれば、開けます。このfileというファイルが存在しない場合は新規で作成することになります。
今、こうやってfileをviで開きました。するとviでの編集画面になると思います。
viでファイルを開いたばかりの状態は、コマンドモードになっています。ここでは、このコマンドモード時の
カーソルの移動方法を紹介します。
キーボードの上下左右の矢印キーがあると思います。もちろんこれでもカーソルの移動は可能です。
しかし、viではこれ以外で上下左右に移動できる方法があります。以下のようなものです。
| j | カーソルを下に移動する |
| k | カーソルを上に移動する |
| h | カーソルを左に移動する |
| l | カーソルを右に移動する |
一見すると、こんなものを覚えるよりも矢印キーで移動したほうが楽だと思うかもしれませんが
一度覚えてしまうと、こっちのほうが楽です^^ ホームポジションから指を外さなくて済みますので
非常に便利です。
これの応用操作として、例えば凄く下のほうまで行ってしまって、上の方に戻るのが面倒な時は、
400kと押してみてください。このようにすると400行分上に移動します。kは
上に移動するコマンドです。もちろん下に400行分移動したいなら400jです。
| テキストモードへの移行 |
次にこのコマンドモードから、いざファイルを編集する為、テキストモードへ移行してみます。
以下のようなキーを押すと、テキストモードへ移行できます。
| i | カーソルの位置からテキストを入力する |
| a | カーソルの次の位置からテキストを入力する |
| o | カーソルのある次の行からテキストを入力する |
テキストモードに移行すると、もうキーを押せばそれは文字として入力されますので、
先ほど紹介した移動の為のキー操作はできません。
これでもう入力できる状態になりましたので、いつものようにテキストの編集をしてみましょう。
テキストモードに入ってしまえば、いつもと同じなので、違和感無く使えると思います。
続いて、編集が終わった場合の説明をします。もう編集が終わったので、早いとこ
このファイルを保存して閉じたいとします。ただこのままでは、そのような操作はできません。
コマンドモードに戻る必要があるのです。コマンドモードへの移行には、Escキーを使用します。
Escキーを押せば、テキストモードから脱出して、コマンドモードに再び帰ってくることができます。
| ファイルの保存、終了 |
ファイルの編集を終えて、コマンドモードに帰ってこれましたので、ここでは保存の仕方や
終了のコマンドを紹介したいと思います。以下のようなものがあります。
| :w | ファイルを保存する |
| :q | viの終了 |
| :wq | ファイルを保存して終了する |
| ZZ | ファイルを保存して終了する |
| :q! | viの強制終了 |
ファイルを保存して終了する方法は2つあります。そのうちのZZは大文字のZですので気をつけてください。
(あとここでは、見やすくする為、:は全角で書きました)
| その他のコマンド コピーやペースト方法など |
コマンドモード時の状態で、カーソルの移動やファイルの保存など以外に覚えておいて
便利だと思うものをここでは紹介したいと思います。例えば以下のようなものがあります。
| x | カーソル位置の1文字を削除 |
| dd | カーソルが位置する行を削除 |
| yy | カーソルが位置する行をコピー |
| p | コピーした内容をペースト |
| u | 直前に行った操作の取り消し |
| / | 文字列の検索(カーソルより後ろ) |
| ? | 文字列の検索(カーソルより前) |
ddなどは数字と組み合わせることも可能です。
例えば、5ddとすればカーソルが位置する行から5行削除することになります。
文字列検索ですが、/sslのようにするとsslという文字列を下に向かって検索します。
/と?を使い分けると便利です。またnを押すことにより、引き続き同じ文字列を検索することが
できます。
最終更新 : 05/23/2005