vimについて学習したので、復習を兼ねてまとめます。
vimとは
Unix系のエディタ。通常のエディタと違い、いくつかのモードがある。
● ノーマルモード:カーソルの移動やテキストの削除、コピー、ペーストなどの簡単な指示を行う。
● 入力モード:実際にテキストを入力する。(『i』を打つとなり、『ESCキー』を打つと(ノーマルモードに戻る。)
● コマンドモード」:ファイルを開いたり、検索や置換などの様々な指示を行う。(『:』を打つとなり、『ESCキー』を押すとノーマルモードに戻る。)
● ビジュアルモード」:テキストを選択するだけのモード。(『v』を打つとなり、『ESCキー』でノーマルモードに戻る。)
ファイルの保存、読み込み
キー |
動作 |
:q |
終了 |
:w |
保存 |
:wq |
保存して終了 |
:w 新しいファイル名 |
名前をつけて保存 |
:q! |
変更点を無視して強制的に終了 |
:e 開きたいファイル名 |
他のファイルを開く |
移動
キー |
動作 |
gg |
ファイル先頭に行く |
G |
ファイル末尾に行く |
control+f |
一画面下に移動 |
control+b |
一画面上に移動 |
w |
単語単位で移動 |
b |
単語単位で戻る |
^ |
行頭へ移動 |
$ |
行末へ移動 |
範囲選択
キー |
動作 |
v |
文字単位で選択 |
V |
行単位で選択 |
control+v |
矩形選択 |
gg+V+G |
テキスト全体選択 |
カット、コピー、貼り付け
キー |
動作 |
x |
一文字単位で削除 |
dd |
行単位で削除 |
消したい行数の値dd |
入力した値の行数分削除 |
p |
カットしたものを貼り付ける |
yy |
コピー |
検索
キー |
動作 |
/検索語 |
検索語のところへ移動 |
(検索語が複数ある場合)n |
下方向に検索 |
検索語が複数ある場合)N |
上方向に検索 |
* |
カーソルがある位置の単語を下方向に検索 |
# |
カーソルがある位置の単語を上方向に検索 |
置換
キー |
動作 |
:s/元の単語/変更後の単語/ |
一文字だけ変更(カーソルがある行に有効) |
:s/元の文字/変更後の文字/g |
複数の文字を変更(カーソルがある行に有効) |
:%s/元の文字/変更後の文字/g |
複数の文字を変更(ファイル全体に有効) |
:%s/元の文字/変更後の文字/gc |
複数の文字を変更(ファイル全体に有効)の前に確認コメントが表示される |
操作の取り消し
キー |
動作 |
u |
行った操作を取り消す(何度でも戻れる) |
control+r |
uの動作のやり直し |
ウィンドウの分割
キー |
動作 |
:sp |
ウィンドウを縦方向に分割 |
:vs |
ウィンドウを横方向に分割 |
control+w+w |
次のウィンドウに移動 |
control+w+p |
前のウィンドウに移動 |
:close |
ウィンドウを閉じる |
タブを使う
キー |
動作 |
:tabnew |
新しいタブを開く |
:tabe 開きたいタブ名 |
指定したタブを開く |
:gt |
タブの移動 |
:tabclose |
タブを閉じる |
(vimを起動時)vim -p |
タブを全て開く |
:tabdo %s/元の単語/変更後の単語/g |
開いている全てのタグにおいて置換をする |
直前の操作を繰り返す
インデント
キー |
動作 |
= |
カーソルのある行をインデントする |
全選択後(gg+V+G)= |
全ての行をインデントする |
補完機能
キー |
動作 |
control+n |
関数をもう一回使う |
コマンドモードで使える便利な設定
キー |
動作 |
:set number |
行番号を表示 |
:set nonaumber |
行番号を消す |
:syntax on |
コードの色分け |
:syntax off |
色を消す |
:set tabstop=規定したい文字数 |
タブの文字数を規定する |
:set ignorecase |
大文字小文字の区別をせずに検索 |
:set noignorecase |
元に戻る |