【新人 M のUNIX 奮闘記】 第6回 「テキストエディタ vi を使ってみる」

第6回目は「テキストエディタ vi を使ってみる」です。 vi(ヴィ・アイ)はUNIX環境で一般的なテキストエディタとのことです。
ファイル操作は基本だと思ったので、今回このviの操作方法を覚えたいと思い行ってみました。


 

キーボードレイアウトの問題

まず、シリアル接続でノートパソコンから操作し、viを使ってみたのですが、色々問題がありました。
第5回のsolaris 11 のイントールの時に、使用しているキーボードレイアウトの選択で、Sunの Type-7 英語キーボートの 47(US-English)を選択しており、今回使用しているノートパソコンは日本語配列で、一部キーが異なる部分あり、今回エスケープキーがうまく入力できませんでした。
 

viでファイル作成

ということで、Sunの Type-7キーボードを使用し、vi の操作を行ってみます。
 


まずはOSにログインしコンソール画面へ入り、ファイルを作成するディレクトリ(/home/moro)まで移動します。


viの起動コマンドは、「vi ファイル名」で開くとのことで、 以下のコマンドを入力すると、viエディタの入力領域に入りました。

vi file.txt

 


色々文字を入力してみて、それを保存します。

ファイルを保存するにはどのようにするのか調べてみたら、viには2つのモードがあり、文字を入力する「入力モード」と、ファイルの読み書きや、カーソルの移動、文字の削除などを行う「コマンドモード」があるということが分かりました。windowsしか使ったことのない私には少し驚きでした。

・「コマンドモード」に移るには ESCキー
・「入力モード」に移るには iキー

 

ESCキーを押してコマンドモードにし、ファイルを保存するコマンド :wp を入力して保存します。

 

保存ができたか確認してみます。lsコマンドでディレクトリの中を確認して、file.txt が作成されていました。
catコマンドでfile.txtの中身を確認して、入力した文字が書かれてありました。
viでファイル作成が完了しました。
 

コマンドモードでいくつかのコマンド実行を行ってみました

■ 削除
Xキー:カーソル直前の文字を削除
dキー:カーソル以降を削除

DeleteキーとBackSpace キーを使用して文字を削除してみました。実際は削除されているのですが、画面上では削除されておらず、モードを切り替えると削除が反映するという動きをしました。
キー配列の問題かOSの問題かは分かりませんがそのような状況があり、DeleteキーとBackSpace キーはあまり使わないようにしました。

dd:現在カーソルのある行を削除(カット)

■ カーソル移動
カーソル移動左:h
カーソル移動下:j
カーソル移動上:k
カーソル移動右:l
矢印キーでも移動可能でしたが、h,j,k,lキーを使うのというのは少し驚きました。

■ 保存関係
終了:q! (編集結果を破棄して強制終了)
ファイル保存:wq (現在編集中の内容を元のファイルに書き込んで終了)
ファイル保存終了:w (編集結果を保存)

 

まとめ

今回はUnixでのファイル編集とうことで、viを使いました。viは弊社の技術員に聞いたら、IPアドレスの変更などで結構使うとのことでしたので、今回viの操作を覚えられて良かったと思います。

戸惑ったのは、入力が「コマンドモード」と「入力モード」の2モードあるということです。また、キーボードのレイアウト設定で、英語キーボード、日本語キーボードで配列が異なるという点が注意すべきことだと思いました。
Unix Com World ではSunの純正のキーボードのご購入者が多くいらっしゃいますが、このようなキーボードのレイアウトを考えてご購入されているのだと思いました。

viは入力以外の操作、削除や終了、移動などはコマンド操作になるので、慣れるまで時間がかかりそうです。

 
今回の記事作成で使用した機種はこちらからお求めいただけます。


コメントは受け付けていません。