🕌

vim

に公開

vimとは

vimは、Linuxに標準で入っているテキストエディタです。
キーボードのみで操作されることを前提としていたため、キーボードのみですべての操作が可能です。
状況に応じてモードを使い分けることでテキストを編集していきます。

vimの特徴

  • カーソル移動

カーソル移動はHJKLキーで移動できます。Hキーが左方向、Jキーが下方向、Kキーが上方向、Lキーが下方向に移動できます。

  • ノーマルモード

vim起動時に最初に入るモード
文字の入力はできない
各アルファベットがコマンドのショートカットになっている
他の各モードから戻るには「Esc」もしくは、「Ctrl + [」キーを押す
編集系コマンド

  • x:カーソル位置の文字を削除
  • r{char}:カーソル位置の文字を指定した文字に置換
  • u:直前の操作を元に戻す(Undo)
  • Ctrl + r:Undoを取り消す(Redo)
    コピー・削除・貼り付け
  • dd:現在の行を削除(Cut)
  • yy:現在の行をコピー(Yank)
  • p:コピーまたは削除した内容を貼り付け(Paste)
  • d{motion}:指定した範囲を削除(例:dwは単語を削除)
  • y{motion}:指定した範囲をコピー
    検索・置換
  • /pattern:前方検索
  • ?pattern:後方検索
  • n:次の検索結果へ
  • N:前の検索結果へ
  • :%s/old/new/g:ファイル全体で文字列を置換
  • コマンドラインモード

ノーマルモード上で「:」キーを押すとコマンドラインモードへ移行する

  • wq(x):保存して終了 変更が無い時はタイムスタンプの更新はしない
  • w:保存 変更が無い時もタイムスタンプを更新する
  • q:保存しないで終了 変更がある時は終了できない
  • q!:保存しないで強制終了 変更がある時でも保存しないで終了する
  • set nu:行番号を表示
  • インサートモード

文字の入力や編集ができる
ノーマルモード上で「i」、「a」、「o」等のキーを押すと、固有の動作をしてインサートモードへ移行する

  • a:カーソルの右に移動後、Insert modeへ
  • i:カーソルの位置からInsert modeへ
  • A:カーソルのある行末からInsert modeへ
  • I:カーソルのある行頭からInsert modeへ
  • o:カーソルのある行の次の行頭からInsert modeへ
  • O:カーソルのある行の次の行末からInsert modeへ

Discussion