vi(ブイアイまたはヴィーアイ)は、Emacsと共にUNIX環境(Linuxを含む)で人気があるテキストエディタです。
Viエディタは、テキスト編集作業を行うためにターミナル内で使用されるエディタであり、Windowsでいうところの「メモ帳」や「エディタ」のようなものです。
しかし・・・根本的な違いがあります!
- Windowsのエディタ:
- 別画面で起動
- Viエディタ
- 同じターミナル内で起動
つまり、Viエディタを起動すると、現在操作しているターミナル上で編集作業を開始できるようになるんですね。
別画面が起動するのを待っていても、何も起こりませんよ(笑)。
このような編集方法は、Windowsのエディタとは異なるため、最初は戸惑うかもしれませんが、慣れてしまえば非常に便利で、編集作業もスムーズに行えます。
Viの特徴:モード切替
Viは、他のエディタと比べていくつかの特徴的な点がありますが、ここではモード切替を説明します。
- 2つのモード
- インサートモード
- テキストを編集
- コマンドモード
- カーソルの移動や削除、コピー、ペースト、検索、置換など
- インサートモード
vi のコマンド
インサートモードで使われるコマンド
コマンド名 | 由来と説明 |
---|---|
i | "insert" の略で、挿入モードに切り替えるコマンド 挿入モードに入ると、カーソルの位置に文字を挿入することができる |
a | "append" の略で、挿入モードに切り替えるコマンド 挿入モードに入ると、カーソルの次の位置に文字を挿入することができる。 |
o | 新しい行を挿入して挿入モードに切り替えるコマンド |
Esc | インサートモードからコマンドモードに戻るコマンド |
コマンドモードで使われるコマンド
コマンド名 | 由来と説明 |
---|---|
x | カーソルがある位置の文字を削除するコマンド |
:w | ファイルを保存するためのコマンド ":w"を入力してエンターキーを押すことで、現在のファイルを保存 |
:q | viを終了するコマンド 現在の編集中のファイルが保存されていない場合は、警告が表示される。 |
:wq | 現在のファイルを保存してviを終了するコマンド |
/ | 検索するためのコマンド スラッシュを入力した後に検索したい文字列を入力し、エンターキーを押すことで、該当する文字列を検索することができる |
yy | カーソルがある行をコピーするコマンド |
p | カーソルの位置にコピーした文字列を貼り付けるコマンド |
:set nu | 行番号を表示するためのコマンド |
:%s/置換前文字列/置換後文字列/g | 置換するためのコマンド ":%s/"に続けて「置換前文字列」、「置換後文字列」、gオプションを指定することで、全ての行に対して置換を行うことができる。 |
vi と vim
vi と vim の関係と違いなどについて以下にまとめました。
コマンド名 | 由来と説明 |
---|---|
vi | "Visual Editor" の略(諸説あり)で、テキストエディタの一種 ViはUnixシステムで最も一般的に使用されているエディタの1つであり、標準のUNIXエディタ Viはテキストファイルを編集するためのコマンドラインツールであり、ユーザーがカーソルを移動してテキストを挿入、削除、変更することができる |
vim | "Vi Improved" の略で、Viの改良版 VimはViと同様のコマンドを備えているが、より高度な機能が追加され、Viの弱点を改良 Vimはテキストエディタの中でも特にプログラマーやシステム管理者に人気があり、強力な検索、置換、カラーシンタックスハイライト、マクロ記録などの機能がある また、Viと同様に、Vimはコマンドラインから起動して使用することができる |
入門vi 第6版
実践Vim 思考のスピードで編集しよう! (アスキー書籍)