Edited at

Vim学習メモ (IP)

More than 3 years have passed since last update.


よく参考にするサイト

今日から少しずつsublimeからvimへと移行していく際にググったことや勉強になったことなどを自分のモチベーションが続くまで書き続けていこうと思います。

VOe71EA.png

aside from the fact that motivation and demotivation are two sides of the same coin.


basics



  1. /[word] or ?[word]で単語検索


  2. iでテキスト編集開始


  3. :でエディットモード閉じる


Insert mode: hit i to initiate


Normal mode: what you hit the escape key to get to



  1. ggでカーソルを一番上に持っていく *equivalent of command + ↑


  2. shift + gで一番下へ *equivalent of command + ↓


  3. wでカーソルを次の単語に持っていく


  4. bで一単語戻る


  5. control + fで画面単位で下へ


  6. control + bで画面単位で上へ


  7. ^で行の始まりへ


  8. $で行末へ


  9. f + 1st letter of word to get toで行きたい単語の始まりへ

  10. ↑の候補が複数ある場合は;を押して次に行ける


  11. %で対応する括弧まで飛ぶ


  12. shift + vで行ごと選択


  13. control + vで自由に選択


  14. :undolistで今まで編集履歴確認


  15. ctrl + rctrl + zの反対。= redo


  16. xでカーソル上の文字をカット


  17. ddでカーソルがある行をまるごとカット


  18. [arbitrary num]ddで消したい行数だけカット

  19. (カットしたもしくはコピーしたものを)pで貼り付け


  20. yyでカーソルがある行をまるごとコピー


  21. [num]yyで指定した行数分だけコピー


  22. /[word to look up for]で単語検索

  23. 単語検索後nで下へ(下にある候補へ)Nで上へ


  24. *でカーソルがある位置の単語を検索(下方向)


  25. #でカーソルがある位置の単語を検索(上方向)


  26. :s/[word]/[word to replace with]でカーソルがある行の指定した単語/文字を書き換え


  27. :s/[word]/[w to replace with]/gでカーソルがある行の指定した物全てを書き換え


  28. :%s/[w]/[wrw]/gでファイル上の単語全てを書き換え


  29. :sv <file name>でsplit layout (vertically)


  30. :tabnewで新しいタブを作成


  31. :tabe [file name]で指定したスクリプトを新たなタブとして開く


  32. .でひとつ前に行った処理をもう一度


  33. ctrl+nで入力候補を出す


  34. :%s/foo/bar/g"スクリプトないすべてのfoobar`に変換


  35. :%s/foo/bar/gc"スクリプトないすべてのfoobarに変換(w/ confirmation)変えたいfooの数 != スクリプト内全てのfoo`のときとかに便利。


  36. ciwで現在選択している単語を消してそのままInsert Modeへ。


  37. ddでカーソルのある行を削除。


  38. Dで同じ行でカーソル以降の単語を全て削除。


tricks


  1. スクリプト内のコード全選択: gg + shift v + shift g

  2. 全選択してインデントを直す: gg + shift+v + shift+g + =

  3. 選択箇所を一気に編集: ctrl + vで挿入/編集箇所を選択しshit + iを押して編集をしてesc


To comment out/uncomment blocks in Vim


to comment out


  1. ESC


  2. CTRL + V (visual block mode)

  3. ↓と↑でライン選択

  4. SHIFT + i

  5. #

  6. ESC


to uncomment


  1. ESC

  2. CTRL + V

  3. ↓と↑でライン選択 or ←と→(w/ SHIFT)を使ってより広範囲に。


  4. d or x

  5. ESC


split windows/multiple windows


  • 横分割: CTRL + W, S *upper case s

  • 縦分割: CTRL + W, v *lower case v

  • 画面移動: CTRL + W, CTRL + W


vimrc



  1. vi ~/.vimrcでvimのファイルを開いてここで色々ショートカットキーの調整etcが行える


  2. set numberを追加すればライン番号が反映される

  3. 例えばpythonを頻繁に使う人はau FileType python setでpythonのファイルを専用のキーを設定出来る。

  4. vimに移行した途端に謎のTabError: inconsistent use of tabs and spaces in indentationが出てきた場合はこちら

  5. タブをctrl tabで回れるようにしたい場合はこちら


おすすめplug-ins


  1. Vundle

  2. NERD Tree


ref