読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

vi、vimのショートカットキー

Vim
UNIXコマンド系ではviのショートカットキーがデフォルトのようなので覚えておくと便利です。 例えばlessなど。検索やページ移動が結構viに近いです。 またユーザインターフェースの点からvimの方が色々設定できて便利です。vimの設定を参考にしてください。 以下基本的なコマンド。これだけ知っていれば特に問題なく使用できます。
保存・終了 :q 終了
:wq 保存して終了
:q! 保存せずに終了
ZZ 終了(変更時は保存してから)
:w 上書き保存
:w ファイル名 別名で保存
入力・挿入 i カーソルの左に挿入
I 行頭に挿入
a カーソルの右に挿入
A 行末に挿入
o 下に1行挿入
O 上に1行挿入
削除・切り取り x カーソル位置を1文字切り取り
数字x カーソル位置から指定文字切り取り
X カーソルの左を1文字切り取り
数字X カーソルの左を指定文字切り取り
dd カーソル行を切り取り
数字dd カーソル行から指定行切り取り
d^ カーソル位置から行頭まで切り取り
d$ カーソル位置から行末まで切り取り
コピー yy カーソル行をコピー
数字yy カーソル行から指定行コピー
v 範囲選択を開始
y 選択部分をコピー
貼り付け p カーソル行の下に貼り付け
P カーソル行の上に貼り付け
カーソル移動 h 1文字左へ
l 1文字右へ
j 1文字下へ
k 1文字上へ
0 行頭へ
$ 行末へ
Ctrl+d 半画面下へ
Ctrl+u 半画面上へ
Ctrl+f 1画面下へ
Ctrl+b 1画面上へ
:$ ファイル末尾へ
:0 ファイル先頭へ
:数字 指定行へ
検索 /文字列 文字列を後方へ検索
?文字列 文字列を前方へ検索
n 後方の次の候補
N 前方の次の候補
置換 :%s/文字列1/文字列2/g すべての文字列1を文字列2に置換
:%s/文字列1/文字列2/gc すべての文字列1を文字列2に置換(確認あり)
取り消し u 直前の操作を取り消し。undo
U 現在行に加えられたすべての操作を取り消し
:redo もしくは Ctrl-r undoの操作を取り消し。redo
画面分割 :sp 画面を上下に分割
:sp ファイル名 指定したファイルを分割した画面に表示
:vsplit 画面を左右に分割
Ctrl-w p 画面間の移動
Ctrl-w k 上の画面に移動
Ctrl-w j 下の画面に移動
Ctrl-w l 右の画面に移動
Ctrl-w h 左の画面に移動
Ctrl-w + カーソルのある画面を一行分大きくする
Ctrl-w - カーソルのある画面を一行分小さくする
Ctrl-w = 画面のサイズを同じにする
:q 選択中の画面を閉じる
:qa 画面を全て閉じる
そのほか . 直前の操作を繰り返し
m文字 カーソル位置をマーク(文字はaからzまで)
'文字 マークした行へカーソルを移動(文字はaからzまで)
:h ヘルプを表示
ソース: viの使い方 viエディターでの画面分割 UNIX/Soft/vi