若者の間ではVimが流行っているらしいので、Vimを勉強するためにvimtutorでやったことをまとめてみる。
モードの概念とかは省きます。めんどいので。
1. カーソル移動
h |
1文字左へ |
j |
1行上へ |
k |
1行下へ |
l |
1文字右へ |
0 |
行頭へ |
$ |
行末へ |
w |
次の単語の初めへ |
e |
次の単語の終わりへ |
b |
前の単語の初めへ |
% |
対応するカッコへ |
2. 保存・終了
:w filename |
filenameとしてファイルを保存 |
:q! |
変更を破棄して終了 |
:wq |
変更を保存して終了 |
3. テキストの挿入
i |
カーソル位置にテキストを挿入 |
a |
カーソル位置の後ろにテキストを挿入 |
A |
カーソル行の末尾にテキストを挿入 |
o |
カーソル行の下に行を挿入し、挿入モードに入る |
O |
カーソル行の上に行を挿入し、挿入モードに入る |
4. テキストの削除
x |
カーソル位置の文字を削除 |
dw |
カーソル位置から単語の末尾までを削除 |
d$ |
カーソル位置から行末までを削除 |
dd |
行全体を削除 |
変更に用いるコマンドの形式は
コマンド 繰り返し回数 モーション
となっているため、d2wとすると、単語を2つ削除できます。
5. 範囲選択
範囲選択を開始した後、hjklなどで選択範囲を指定し続けてコマンド(dなど)を実行すると、選択範囲に対してコマンドを適用することができます。
6. テキストのコピー
y$などのように、モーションを指定することもできます。
7. テキストのペースト
p |
コピーまたは削除したテキストをカーソル位置の後ろに貼り付ける |
8. 文字を置き換える
r |
カーソル下の文字を置き換える(上書きする) |
R |
カーソル下の文字を複数置き換える(上書きする) |
cw |
カーソル位置から単語の末尾までを上書き |
c$ |
カーソル位置から行末までを上書き |
dコマンドと同じようにc2wとかもできます。
9. 操作の取り消し
u |
前回の操作を取り消し |
U |
行全体の操作を取り消し |
Ctrl-r |
取り消しの取り消し |
11. 行の移動
G |
最下行に移動 |
数字 G |
数字で指定した行に移動 |
gg |
先頭行に移動 |
12. 検索
/ |
末尾に向かって検索 |
? |
先頭に向かて検索 |
n |
次の候補へ |
N |
前の候補へ |
13. 置換
s/old/new/ |
カーソル行にある初めのoldをnewに置換する |
s/old/new/g |
カーソル行にある全てのoldをnewに置換する |
n,ms/old/new/g |
n行目からm行目までの全てのoldをnewに置換する |
%s/old/new/g |
ファイル中にある全てのoldをnewに置換する |
%s/old/new/gc |
確認を行いながらファイル中にある全てのoldをnewに置換する |
14. 外部コマンドの実行
:! |
外部コマンドの実行 |
:!ls |
lsコマンドの実行(例) |
15. ファイルの取り込み
:r filename |
filenameを取り込んでカーソル行の下に挿入する |
:r !ls |
lsコマンドの出力を取り込んでカーソル行の下に挿入する |