Open2

vim

oijofieoijofie

vimのショートカットに関するメモ

基本移動

  • h: ←
  • j: ↑
  • k: ↓
  • l: →

Mode

  • Esc: Normalモード
  • i: カーソルの前に挿入
  • I: ラインの初めに挿入
  • a: カーソルの後ろに挿入
  • A: ラインのおわりに挿入
  • o: カーソルのある行の一つ下の行に空行を差し込んで入力
  • O: カーソルのある行の一つ上の行に空行を差し込んで入力
  • c: 文字を消してinsert modeにはいる
  • v: Visual Mode(単語単位)

移動

  • w: カーソルの次の単語のはじめに移動

  • b: カーソルの前の単語のはじめに移動

  • e: カーソルの単語の終わりに移動

  • 0: ラインのはじめに移動

  • $: ラインの終わりに移動

  • ^: 空白でない文字に移動

  • %: マッチングするブラケットに移動

  • #: カーソルの位置にある単語の次の単語に移動

  • *: カーソルしたの単語を検索

  • n: 次の結果にジャンプ

  • H: スクリーンのtopに移動

  • M: スクリーンのmiddleに移動

  • L: スクリーンのbottomに移動

  • zz: 現在のラインをスクリーンのcenterにする

  • zt: 現在のラインをスクリーンのtopにする

  • {: 現在のパラグラフのはじめに移動

  • }: 現在のパラグラフのおわりに移動

  • gg: ファイルのはじめに移動

  • G: ファイルのおわりに移動

  • f{char}: charに該当するcharの上に移動

  • t{char}: charに該当するcharの手前に移動

  • ;: f, t, F, Tの操作を繰り返す

  • ,: f, t, F, Tの操作を反対側に繰り返す

編集

  • y: コピー(vimではyankと呼ばれる)

  • p: ペースト

  • diw: 現在の単語を削除

  • yiw: 現在の単語をコピー

  • u: undo

  • ctrl + r: redo

  • dd: ラインごと削除

  • dw: 単語で削除

  • . : 編集のキーバインドを繰り返す

  • zf: 現在のインデントレベルでfold

  • za: 現在のfoldをトグル

参考

  1. https://www.youtube.com/watch?v=Zep3g2OOvj8&t=1668s
  2. wolfbash (2017) - さっさと帰りたい怠け者エンジニアはvimをマスターしましょう その1 - 基本と移動
  3. 【Vim入門Vol.1】これを覚えるだけで入門できる!Vimの使い方超入門
  4. ノーマルモードについて学ぼう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(2)
oijofieoijofie

Text Objects

  • カーソルがあるところをなんらかの範囲内とみなし、コマンドを実行できる
  • motionもすごいが、カーソルの位置に気を使う必要があるため、気を使わなくて良いtext objectsがおすすめ
    • dt"(カーソルの位置から、"の手前までを削除)->カーソルの位置が重要になる。
  • 基本的に命令 + a | i + 範囲 の三文字で構成される
    • di", gUawなど
    • delete inner "やgo upper a word