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