Vimの操作方法私的メモ

Vimの操作方法私的メモ

Vimをサーバ内でテキスト編集をする際に仕方なく使うツールではなく、効率的な入力のために使うツールにしたく、学習を開始した。

Vimの操作方法を記した記事は数多くあるが、自分が役に立つと思う操作・学習方法を残しておく。

前提として知っておくべき知識

Vim Cheat Sheet 随時参考にしていく

  • 操作の取り消し
    • u <> ctr + r

ノーマルモードでの操作は、オペレータとモーションの組み合わせで行う。

vimのキー(主にノーマルモードについて)は、大きく分けて「オペレータ」と「モーション」の2種類がある。これを把握することが大事。 オペレータ: 動詞として動作を指定する。主要なものは4つなのでここから覚えよう モーション: 対象範囲を指定する オペレータは意味のあるキーバインドになっているので、以下のような感じで覚えよう:

c : change (変更) d : delete (削除) y : yank (ヤンク: コピーと同義) g : go (移動全般) ノーマルモードでは基本的に最初にオペレータを入力し、その後に範囲指定を行う(CUI的発想)が、ビジュアルモードでは範囲を最初に選んでそれからオペレータを入力する (GUI的発想)という違いがある。

Vim幼稚園からVim小学校へ #Vim - Qiita

vimtutorに取り組む

vimtutorにある操作は積極的に使って行きたい。

自分が知らなかった・使いたい操作を列挙していく。

モーション(ノーマルモードだとカーソル移動)

  • オペレータ:動詞
    • c : change (変更)
    • d : delete (削除)
    • y : yank (ヤンク: コピーと同義)
    • g : go (移動全般)
  • 数値のタイプで繰り返し設定ができる
  • モーション:対象範囲
    • w - カーソル位置から空白を含む単語の末尾まで。
    • e - カーソル位置から空白を含まない単語の末尾まで。
    • $ - カーソル位置から行末まで。
  • ex.
    • d3w -> 3単語を削除する

編集

  • p
    • 削除したものを貼り付け
  • D
    • 行末まで削除
  • 置き換え
    • r
      • 入力との置き換え
    • ce
      • 単語の末尾まで
    • cc
      • 行全体

移動

  • 0
    • 先頭 <> $
  • w
    • 単語 <> 末尾
  • 行番号 -> G
    • 行番号にジャンプ
  • 元の場所に戻る
    • ctr + o <> ctr + i
  • %
    • かっこに移動
  • 置換
    • :s/hoge/fuga/(g)
      • gがあると行全体
    • :#,#s/old/new/g #,# には置き換える範囲の開始と終了の行番号を指定する。
    • :%s/old/new/g ファイル全体で見つかるものに対して変更する。
    • :%s/old/new/gc ファイル全体で見つかるものに対して、1つ1つ確認をとりながら変更する

検索

  • ?で検索
    • 逆方向
  • y or

その他

  • 外部コマンドの実行
    • :!コマンド

参考にした記事

Vim幼稚園からVim小学校へ #Vim - Qiita