XVim2 で使える機能のメモ。
XVim2 でどんな機能が使えるかを調べたメモ。 とりあえず自分が使うものだけ。
モーション
b, B, f, F, gg, G, h, j, k, l, w, W, t, T, 0, $, ^, %, +, -, {, }, (, ), n, N, ', `, M, H, L
自分が使うものはだいたい使えるみたい。カンマとセミコロンも使える *1
マーク
ma
とかでマークしておいて 'a
でマークしておいたところにジャンプできる。
スクロール
C-d, C-f, C-e, C-u, C-b, C-y, zz, zb, zt
ジャンプ
C-o, C-i, gd
C-i
は Xcode の Editor-Structure-Re Indent
機能に割り当てられていたので Preference
> Key bindings
から Editor-Structure-Re Indent
機能への割り当てを解除した。
インサートモード
a, A, i, I, o, O
ナビゲーション
C-], C-t
C-]
は Xcode の Jump To Definition
機能にマッピングされていて、 C-t
は Xcode の Go Back
機能にマッピングされているとのこと。
ヤンク、ペースト、変更
d, dd(d), D, y, yy(y), Y, c, cc(c_), C, r, s, S, x, X
行結合
J
シフトブロック
, >>, <, <<
大文字と小文字の変換
Visual mode: u, U, ~, gu, gU
ノーマルモードではサポートされていないみたい。 自分は主にビジュアルモードで使うから問題なさそう。
元に戻す、やり直し
u, C-r
ビジュアルモード
v, V, C-v
C-v + Shift-i
は動かないと書いてあるけど動くっぽい。
検索と置換
/, ?, #, , g, g#, :s, n, N
Vim ライクな検索は本当に便利。
テキストオブジェクト
ib, iB, i(, i), i{, i}, i[, i], i>, i<, i", i', iw, iW ab, aB, a(, a), a{, a}, a[, a], a>, a<, a", a', aw, aW
とても便利。
Recording
q, @
自分の環境ではうまく動かなかった。
ドットコマンド (.)
自分が使う範囲では十分に使える。
その他
Ex コマンドも結構使えるようで XVim オリジナルの Ex コマンドもあるよう。 まだ XVim をインストールして間もないのだけど「Xcode 使いにくいなー」と思っていたことの結構な部分が Vim キーバインドが使えないことだったかもしれない。
*1:むしろ M, H, L とか使わなすぎて忘れてた