Vim:コマンドのメモ
あとは:helpを引け
https://github.com/LevelbossMike/vim_shortcut_wallpaper/blob/master/vim-shortcuts-dark_2560x1600.png?raw=true
https://github.com/LevelbossMike/vim_shortcut_wallpaper/blob/master/vim-shortcuts_2560x1600.png?raw=true
ノーマルモード
table:TO-NORMAL-MODE
Esc, Ctrl-[ 他から戻る
table:action
q: コマンド履歴
Enter 実行
Ctrl + c コマンドへ
r 一文字置換
u undo
Ctrl + r redo
Ctrl + o 前の地点に戻る
Ctrl + i 次の地点へ
gf カーソル下のファイルを開く
Ctrl + w f 水平分割して
table:モーション
h j k l 左 下 上 右 (cnt)回
0 行頭に移動(空白含む)
^ 行頭の非空白に移動
$ 行末に移動 (cnt-1)行
g_ 行末の非空白に移動 (cnt-1)行
f{char} 右の{char}に移動 (cnt)番目
F{char} 左の{char}に移動 (cnt)番目
t{char} 右の{char}の左に移動 (cnt)番目
T{char} 左の{char}の右に移動 (cnt)番目
; f, F, t, Tを繰り返す (cnt)回
, f, F, t, Tを逆に繰り返す (cnt)回
gg ファイル先頭へ (cnt)行へ
G ファイル最終行へ (cnt)行へ
w 次のwordの先頭に移動 (cnt)番目
W 次のWORDの先頭に移動 (cnt)番目
b 前のwordの先頭に移動 (cnt)番目
B 前のWORDの先頭に移動 (cnt)番目
e wordの末尾に移動 (cnt)番目
E WORDの末尾に移動 (cnt)番目
} 次の段落に移動 (cnt)番目
{ 前の段落に移動 (cnt)番目
% 対応する記号に移動
go バイトで指定して移動
table:オペレーター
y ヤンク(コピー)
d 削除
c 変更(削除して挿入モードに)
gJ 行の結合
gU 大文字にする
gu 小文字にする
g~ 大文字/小文字を入れ替え
1インデント増やす
< 1インデント減らす
zf 折りたたみを作成
table:テキストオブジェクト
iw ホワイトスペースを含まないword
aw ホワイトスペースを含むword
ip 段落の内部(最後の改行を含まない
ap 段落
i] ブロックの内部
a] ブロック
i) () ブロックの内部
a) () ブロック
i> <> ブロックの内部
a> <> ブロック
i" "" の内部
a" ""
i' '' の内部
a' ''
it html、xmlのタグの内部を選択
at html、xmlのタグを選択
挿入モード
table:TO-INSERT-MODE
i カーソル位置に
I 行頭の非空白文字
a カーソルの右に
A 行末に
o 下に行を追加して
O 上に行を追加して
table:actions
Ctrl + r レジスタの挿入
Ctrl + t インデント
Ctrl + d インデント解除
Ctrl + h 1字削除
Ctrl + w 単語削除
table:補完
Ctrl + x Ctrl + f ファイル補完
Ctrl + x Ctrl + o オムニ補完
Ctrl + x Ctrl + n 単語補完
ビジュアルモード
table:VISUAL-MODE
v 文字単位の選択
V 行単位の選択
Ctrl+v 矩形選択
o 反対側をつまむ
O 横をつまむ
コマンドラインモード
table:COMMAND
:!pwd コマンドの実行
:r!pwd 実行結果の貼り付け
:w 上書き保存
:w {filename} 名前をつけて保存
:q vim の終了
:q! 保存せずとも終了
table:SEARCH
/{word} 下に検索
?{word} 上に検索
n 次の検索結果へ
N 前の検索結果へ
* カーソル位置の単語を下に検索
# カーソル位置の単語を上に検索
table:REPLACE
:%s/aaa/bbb/g 全体を置換
:5,9s/aaa/bbb/g 5-9行目を置換