概要
ほとんどの UNIX 系 OS にデフォルトで搭載されているエディタです。
慣れてないと使えません。
使いこなすのは難しいですが、一度覚えてしまえばどの UNIX 環境でも使えます。
(Emacs が標準で入っていないことも多いです)
コマンド一覧
Vim の操作はすべてコマンドで行います。
コマンドを覚えないと、編集も終了もできません。
コマンドをすべて覚える必要はありませんが、多くのコマンドを覚えていると操作が早くなります。
:から始まるのはexコマンドです。最後に Enter を押してください。
exコマンドとVimのコマンドと同じ動作のものがありますが、どちらを使っても構いません。
凡例
- n
任意の整数を表します - x
任意の一文字を表します - <C-a>
Ctrl を押しながら a - pattern
検索パターンを表します - :w[rite]
:write コマンドと、その省略形 :w を表します
移動系
文字単位*2 | h | 左 |
j | 下 | |
k | 上 | |
l | 右 | |
gj | 表示行で下 | |
gk | 表示行で上 | |
単語単位 | w | 次 |
W | 次 (記号無視) | |
b | 前 | |
B | 前 (記号無視) | |
e | 単語の末尾 | |
E | 単語の末尾 (記号無視) | |
文単位 | ) | 次 |
( | 前 | |
段落単位 | } | 次 |
{ | 前 | |
セクション単位 | ]] | 次 |
[[ | 前 | |
行単位 | 0 | 行頭 |
$ | 行末 | |
^ | 行頭 (空白以外) | |
+ | 次の行の行頭 | |
- | 前の行の行頭 | |
n| | カレント行のn文字目 | |
H | 画面の最上位行 | |
M | 画面の中央行 | |
L | 画面の最下行 | |
nH | 上からn行目の行 | |
nL | 下からn行目の行 | |
スクロール | <C-f> | 次の画面 |
<C-b> | 前の画面 | |
<C-d> | 半画面次へ | |
<C-u> | 半画面前へ | |
<C-e> | 1行次へ | |
<C-y> | 1行前へ | |
z<Enter> | カレント行の画面の一番上に表示 | |
z. | カレント行を画面の中央に表示 | |
zz | ||
z- | カレント行を画面の一番下に表示 | |
行番号 | nG | n行目へジャンプ |
:n | n行目へジャンプ | |
ファイル単位 | gg | ファイルの先頭 |
G | ファイルの末尾 |
検索
/ ? は Enter を押すと実際に実行します。
ファイル単位 | /pattern | 順方向にパターン検索 |
?pattern | 逆方向にパターン検索 | |
n | 最後の検索を同じ方向で繰り返す | |
N | 最後の検索を反対の方向で繰り返す | |
/ | 最後の検索を順方向で繰り返す | |
? | 最後の検索を逆方向で繰り返す | |
行単位 | fx | カーソルより後ろにある x へジャンプ |
Fx | カーソルより前にある x へジャンプ | |
tx | カーソルより後ろにある x の直前の文字にジャンプ | |
Tx | カーソルより前にある x の直前の文字にジャンプ | |
; | 直前のカレント行内検索を繰り返す | |
, | 直前のカレント行内検索を反対方向で繰り返す |
編集系
挿入 | i | カーソルの前に挿入 |
a | カーソルの後に挿入 | |
I | 行頭に挿入 | |
A | 行末に挿入 | |
o | カーソルの下へ新しい行を作り挿入 | |
O | カーソルの上に新しい行を作り挿入 | |
変更 | r | 文字を変更 |
cw | (カーソル位置以降の) 単語を変更 | |
cmotion | カーソル位置と移動コマンドmotionの移動先の間にあるテキストを変更 | |
S | 一行全体を変更 | |
cc | 一行全体を変更 | |
C | カーソル位置から行末まで変更 | |
c$ | カーソル位置から行末まで変更 | |
s | 文字を文字列で置き換える | |
削除 | x | 文字を削除 |
X | カーソルの前にある文字の削除 | |
dw | 単語の削除 | |
dd | カレント行の削除 | |
:d[elete] | カレント行の削除 | |
dmotion | カーソル位置と移動コマンドmotionの移動先の間にあるテキストを削除 | |
D | 行末まで削除 | |
ヤンク | yw | 単語をヤンク |
yy | カレント行をヤンク | |
dmotion | カーソル位置と移動コマンドmotionの移動先の間にあるテキストをヤンク | |
ペースト | p | カーソルの後にペースト |
P | カーソルの前にペースト | |
取り消し | u | 最後の操作の取り消し |
U | カレント業の復元 | |
やり直し | <C-r> | 取り消し操作をやり直す |
:red[o] | 同上 | |
その他 | J | 2行の連結 |
ファイル
終了 | ZZ | ファイルに書きこんで終了 (変更がある場合のみ) |
:x[it] | ファイルに書きこんで終了 (変更がある場合のみ) | |
:wq | ファイルに書きこんで終了 | |
:q[uit] | 終了 | |
ZQ | 終了 (変更されていても無視する) | |
:q[uit]! | 終了 (変更されていても無視する) | |
書き込み | :w[rite] | 書き込み |
:up[date] | 書き込み (変更がある場合のみ) | |
開く | :e[dit] file | fileを新しいバッファに開く |
:enew | 無名バッファを作成する | |
ファイル名の変更 | :f[ile] file | ファイル名をfileに変更 |
バッファ
バッファ移動 | :bn[ext] | 次のバッファへ移動 |
:bp[revious] | 前のバッファへ移動 |
シェル
ディレクトリ | :pw[d] | カレントディレクトリを表示 |
:cd | カレントディレクトリを移動 |
定型操作
文字コードの変換
以下の操作はノーマルモードで行ってください。
コマンド | 省略形 | 解説 |
:set fileencoding=文字コード | :se fenc=文字コード | 文字コードの設定を書き換えます |
文字コードには、以下のような文字列が指定できます。
設定値 | 文字コード |
utf-8 | UTF-8 |
euc-jp | EUC-JP |
iso-2022-jp | 日本語 JIS |
cp932 | Shift_JIS |
文字コードを指定して開き直す
ファイルを開いたけど文字化けしている場合など、文字コードを指定して開きたい場合に使います。
コマンド | 省略形 | 解説 |
:edit ++encoding=文字コード | :e enc=文字コード | 文字コードを指定して開き直す |