Linux vim エディタを学ぼう
vim(ヴィム)とは
Linuxでは、色々な設定をテキストファイルに記述して行う事があります。
この為、Linuxを使用しているとテキストファイルを編集する機会が出てきます。
ここで必要になってくるのがテキストディタです。
テキストファイルとは、文字や記号などのテキストで保存されているファイルです。
そして、テキストエディタとは、このテキストファイルを編集する為のソフトです。
Windowsの標準のテキストエディタは「メモ帳」です。
vim(ヴィム)とは、Linuxで標準的に使われて高機能テキストエディタです。
私たちが知っているメモ帳などのテキストエディタとは違い、独特な操作が必要で、
少しとっつきにくさを感じますが、
どのディストリビューションでもほぼ標準でインストールされていますので、
この機会に慣れておきましょう。
ディストリビューションについては、こちらの記事を参照して下さい。
モードについて
Vimには、以下のモードがあり、各モードへ切り替えて操作を行います。
モード | 説明 |
---|---|
インサートモード | 通常の編集操作を行うモードです。 |
ノーマルモード | カーソルの移動、テキストのコピーやペースト、削除をなどを行うモードです。 |
コマンドモード | ファイルの保存、vimの終了など行うモードです。 |
モードの切り替えにつて
モード | 操作方法 |
---|---|
インサートモードへ切り替える | i キー または a キーを押下します。 |
ノーマルモードへ切り替える | Esc キーを押下します。 |
コマンドモードへ切り替える | : キーを押下します。 |
vimの起動
コマンド | 説明 |
---|---|
vi | テキストファイルを編集する。 |
書式 | vi [オプション] [ファイル名] |
オプション | -R 読み取り専用でファイルを開く |
実行例1 | textfile.txt ファイルを開きます。(ファイルが無ければ新規作成します) $ vi textfile.txt |
vimの 各種コマンド
インサートモードへの移動(インサートモード)
コマンド | 説明 |
---|---|
i | カーソルの前に文字を入力する |
a | カーソルの後の文字を入力する |
I | 行頭の最初の文字にカーソルを移動し、その直前に文字を入力する |
A | 行末にカーソルを移動し、その直後に文字を入力する |
カーソルの移動(ノーマルモード)
コマンド | 説明 |
---|---|
h | 1文字左へ移動する(←) |
j | 1文字したへ移動する (↓) |
k | 1文字上に移動する (↑) |
l | 1文字右へ移動する (→) |
gg | ファイルの先頭行へ移動する |
G | ファイルに最終行へ移動する |
○G | ファイルの○行目へ移動する(○は数値) |
編集操作(ノーマルモード)
コマンド | 説明 |
---|---|
x | カーソル位置の文字を削除する(Delete) |
X | カーソル位置の前の文字を削除する(Backspace) |
dd | カレント行を削除する |
yy | カレント行をバッファへコピーする |
p | カレント行の下へバッファ内容を貼り付ける |
P | カレント行の上へバッファ内容を貼り付ける |
u | 直前の処理を取り消す(アンドゥ) |
. | 直前の処理を繰り返す(リドゥ) |
検索 (ノーマルモード)
コマンド | 説明 |
---|---|
/文字列 | カーソル位置から後方に向かって指定した文字列を検索する |
?文字列 | カーソル位置から前方に向かって指定した文字列を検索する |
n | 次を検索する |
N | 次を検索する (逆方向) |
置換 (コマンドモード)
コマンド | 説明 |
---|---|
:%s/A/B/ | 最初に見つかった文字列Aを文字列Bに置換する |
:%s/A/B/g | すべての文字列Aを文字列Bに置換する |
保存・終了(コマンドモード)
コマンド | 説明 |
---|---|
:q | 保存せずに終了する(編集した場合は保存するか確認される) |
:q! | 編集中の内容を保存せずに終了する |
:wq or ZZ | 編集中の内容を保存して終了する |
:e! | 最後に保存した内容に復帰する |
その他 (コマンドモード)
コマンド | 説明 |
---|---|
:set number :set nu | 行場号を表示する |
:set nonumber :set nonu | 行場号を非表示にする |