2017/06/18
Vimチートシート(随時更新)
仕事でも個人的にもVimをよく使うのでオプションをまとめてみました
カーソル移動
- 先頭行の頭にジャンプ
- gg
- 最終行の末尾にジャンプ
- G
Undo/Redo
- u 直前の操作を取り消す
- R 取り消した操作を遡って再実行
挿入
- i 指定文字の直前に挿入
- a 指定文字の直後に挿入
- I 指定文字のある行の先頭に挿入
- A 指定文字のある行の最後に挿入
- o カーソルの後行から文字入力開始
- O カーソルの前行から文字入力開始
切り取り、コピー
- x 1文字を切り取り
- dd 指定行を切り取り
- 5dd 指定行から数えて5行を切り取り
- dG カーソル位置から最終行まで削除
- dgg カーソル位置から最初行まで削除
- :g/文字列/d 指定した文字列を含む行を削除
- :g/^文字列/d 指定した文字列から始まる行を削除
- :v/文字列/d 指定した文字列を含む行以外を削除
- vi” ダブルクォーテーション内の文字列を削除
- vi’ シングルクォーテーション内の文字列を削除
- 切り取り
- 開始点でms
- 終了行でd’s
文字列検索
- /文字列
- n: 次のキーワード該当箇所にカーソル移動
- N: 前のキーワード該当箇所にカーソル移動
範囲指定コピー/切り取り
- コピー
- 開始行でms
- 終了行でy’s
- 切り取り
- 開始行でms
- 終了行でd’s
置換
- 該当キーワードを全て置換
- :%s/置換対象/置換する文字列/g
- 該当キーワードを順番に選択置換
- :%s/置換対象/置換する文字列/gc
2ファイル間の差分表示
http://nanasi.jp/articles/howto/diff/diff_text.html
- :vertical diffsplit 差分を取りたいファイル
文字コード確認
- vim自体のエンコード確認
- :set enc?
- 開いているファイルのエンコード確認
- :set fenc?
現在の設定の出力
- 変数定義
- :let
- vimエディタオプションの定義
- :set
- マッピングの定義
- :map
- autocmdの定義
- :autocmd
- カレントディレクトリの確認 - :pwd
参考
- 現在の設定を出力する
- http://nanasi.jp/articles/code/coding/current-status.html
- 個人的によく使うVimテクニック5選
- https://cloudear.jp/blog/?p=1352