viの基本的な使い方についてこのページではまとめている。
viは意外と癖があり、はじめのうちは苦労するはずだ。しかし、慣れてしまえばなんのことはない。
ぜひトライして、使い方をマスターしてしまおう。
目次
Viの基本的な使い方
始めにとらえておきたい独特なモードという概念
vi系のエディタはお世辞にも入門者に優しいエディタとは言えない。
入門者に優しいエディタを選ぶのならば「nano」あたりが候補にあがってくる。
しかしLinuxを扱う上でvi系エディタは好む好まざるを問わず使うことになることが殆どだ。諦めて頑張って覚えよう。
入門者がつまづくところとしてまずあがるのが「編集モード」と「ノーマルモード」「コマンドモード」「ビジュアルモード」が分離されているというところだ。
「編集ができる画面」と「コマンドで様々な機能が使える画面」が違うという、慣れるまではなんとも厄介なエディタだ。
編集モードで文字を打ち込み、ノーマルモードを使用してカーソル移動、コピーアンドペースト、コマンドの実行などを行うことになる。
編集モード
この編集モードのときは、文字をタイプすればそのまま文字列がかきこまれてゆく。文字を打ち込むことに専念するモードだ。
最近のviクローンであるvimでは編集モードにおいては、カーソルキーでカーソルの移動が可能になっている。この時点で入門者の方へのハードルは大きくさがったものの、vi本来の動きではない。
vi本来はカーソルの移動でもコマンドモードを使用する。が、もはやどちらでもいい。やりやすいほうでやればいい。
ノーマルモード
起動直後はノーマルモードとなる。「hjkl」などでカーソルの移動などを行う。またとっさにEscキーを連打した場合もこのモードに戻ってくる。このモードを起点として各モードに移行し作業をすることになる。
コマンドモード
このモードでその他コマンド入力を行う。
また保存や終了するときもこのコマンドモードから終了を知らせて終了することになる。
多くの人は最初にこのモードの往復に疲労することになる。しかしキーバインドは比較的指にやさしいので、慣れるまでが大変だが、そのあとは非常に快適になる。
他のコマンドでもviのキーバインドに操作感をにせている場合もあるので、viのキーバインドはLinuxに触れていると自然に身につくようになる。
ビジュアルモード
複数の行や文字列を矩形単位で選択が可能なモードであり、主に文字を選択時に使用する、今回は使用しないのでそういうモードがあるのだと理解してもらえれば大丈夫だ。
混乱したときは
モードの切り替えをしているうちに「今なにをしているかわからなくなる瞬間」があるだろう。そういう時はとりあえずEscキーを連打しよう。
そうすると意識しなくてもコマンドモードへ帰ってくるようになっている。
なので「あれ?」とおもったら取り敢えずEscを押すとよいだろう。
viの起動方法と終了方法
viを起動したい時は
$ vi
とすればよい。大方viの拡張クローンであるvimが起動する。
viを終了したいときは、取り敢えずEscボタンを押す。
そうするとコマンドモードに移行する。その状態で「:q」とうちこんでみよう。
「:」をうちこんだ時点で一番下の行に変化があるはずだ。この状態になるとviは独自のコマンドを受付けるようになる。その状態で「q」を打ち込みエンターを押下すれば終了してプロンプトがもどってくる。
保存したいとき
viを立ち上げた状態から編集をおこないそれを保存したい場合は「:w <ファイル名>」とうちこみエンターを押下するとファイル名でファイルが保存される。
後は「:q」として終了をすればよい
$ vi file.txt
とファイル名を指定して起動すると、起動時にファイルを読み込む、ファイルが存在しなかった場合新規ファイルとして、ファイルのバッファを作成し、終了するときにファイルを保存すればファイルが作成される。
設定ファイルなどを編集したあと、上書き保存して終了したいときは「:wq」とすれば望みどおりの結果になるはずだ。
変更を破棄して強制終了
また編集内容を破棄して終了したい場合は「:q!」とすれば変更を破棄してくれる。
基礎的なviの編集方法
まずは「編集モード」へ移行しよう。
試しにコマンドモードの状態で「i」を押してみてほしい、一番下の行に「-- 挿入 --」という文字があらわれるはずだ。エンターなどをおすと改行ができる。
この状態でキーをたたくと文字が入力されてゆく、現代のvimはこの編集モードの状態でもカーソルキーによる移動は可能となっているが、viの場合基本的にカーソルの移動と編集は別々におこなうことが殆どだ。
文字列を打ち込みおわったらEscキーをおしてコマンドモードへもどろう。
基礎的な移動
カーソルの移動は基本的にコマンドモードでおこなうことになる。幾らか編集して文字や改行のある状態でEscキーをおしてコマンドモードへもどる。
ここでカーソルの基本操作をしてみよう。viの基本カーソル移動は「h」「j」「k」「l」の四つのキーでおこなう。hをおすと左へ一文字移動、jをおすと下の行へ移動、kをおすと上の行へ移動、lで右へ移動するようになっている。
右手のホームポジションを起点として、移動のキー操作が可能になっているのがわかるはずだ。確かに直感的ではないが、指への負担はすくないのがメリットといえるだろう。
一文字削除
テキストを編集しているとどうしてもタイプミスをすることがある。その場合は、コマンドモードで除去したい文字までカーソルをもっていった状態で「x」をおしてみよう。すると一文字分が削除される、除去したい分だけ「x」で除去してから、その状態で「i」で編集モードへ移行修正する文字列を挿入してゆくことになる。
まとめ
このページではviの基本的な使い方についてご紹介した。もちろん機能はこれだけではなく、様々な使い方ができる。
詳しくは下記のページよりひとつのページごとに追いかけてみていただきたい。
説明が大変わかりやすいです。勉強させていただきます。
そのように言っていただき励みになります。
今度ともご愛読の程よろしくお願いいたします。