移動系
w
次の単語に移動
b
前の単語に移動
f
マッチする文字に移動 ;
次のマッチに移動,
で戻る
gg
先頭の行に移動
G
最終行に移動
0
行の先頭へ(インデント無視して先頭へ)
^
行の先頭へ
$
行の末尾へ
+
下の行の先頭へ
-
上の行の先頭へ
zz
カーソルの位置をウィンドウの中心に移
z<CR>
カーソルの位置をウインドウの最上部に移動
削除系
daw
単語を削除
ciw
, caw
単語を削除後インサートモード
dd
行を削除
d0
, d$
行頭、行末までを削除
df<文字>
カーソル位置から<文字>の位置まで削除
C
行を削除後インサートモード
:nd
n行目に移動して削除
:{start},{end}d
アドレス範囲で行を削除
挿入系
I
行の先頭に挿入
i
文字の前に挿入
A
行の最後に挿入
a
文字の後ろに挿入
ea
単語の末尾に挿入
gea
前の単語の末尾に挿入
di"
delete inside ""(di', di( など応用可能)
ci"
""の中身を消して挿入
ca"
""ごと消して挿入
ビジュアルモード
<C-v>
短径選択 2l3j
2×3で選択
vaw
,viw
単語をビジュアル選択
va"
""ごとビジュアル選択
検索系
f
マッチする文字に移動 ;
次のマッチに移動 ,
で戻れる
*
, #
下、上方向に検索
g*
, g#
部分一致検索
補完系
<C-p>,<C-n>
補完
<C-d>
補完(コマンドラインモードにて)
置換系
:%s/置換したい文字/置換後の文字/g
全置換
コピー&ペースト
:6t.
6行目を現在行の下にコピー
:t6
現在行を6行目の下にコピー
t.
現在行をコピー(ノーマルモードのyyp
)
yw
単語をヤンク
ファイル移動系
gf
カーソル位置に記述されているファイル名にジャンプ
<C-w>f
画面を水平分割してジャンプ
<C-o>
/<C-i>
戻る/進む
:vimgrep /hoge/ **
hogeを含むファイルを検索
<C-]>
宣言元にジャンプ
ディレクトリ操作
:cd %:h
カレントディレクトリをファイルのディレクトリに変更する
ファイルの検索
:vim hoge **/* | cw
vimを開いた階層以下のファイルをhogeという文字列で検索
タブ機能
:tabnew
新規タブを作成
gt
, gT
次のタブ、前のタブ
Case
確認しながら置換したいとき
*
で検索
cw
で削除してインサートモードに入り、入力
n
で次のマッチへ(N
で戻る)
.
で繰り返し
その他
画面分割
:vsp {file}
, <C-w>v
縦に分割
<C-w>w>
フォーカスを変更
<C-w><
現在のウィンドウの横幅を1文字分狭くする
:clo
閉じる
<C-w>x
分割した画面の入れ替え
<C-w>H
, <C-w>K
横→縦、縦→横
バッファ関連
:ls
バッファを表示
:b バッファの番号
開く
json綺麗
:%!jq '.'
vim-surround
ysiw'
''You surround inside word
cs'"
'を"に変更Change surround' "
ds"
Delete surround"
S<div class="important">
Vで選択した行を