とほほのVim入門(挿入モード)

トップ > Vim > 挿入モード

目次

挿入モード終了

<Esc> : 挿入モードを終えてノーマルモードに戻る
Ctrl-[ : <Esc> と同じ。ホームポジションから手を放す必要がなくなる
Ctrl-c : 挿入モードを終えてノーマルモードに戻る。ただし短縮入力は展開しない

カーソル移動

<Up> : 1行上に移動
<Down> : 1行下に移動
Ctrl-g j : 1行下に移動。カーソルは挿入開始位置と同じ列へ (Ctrl-g Ctrl-j, Ctrl-g <Down>でも可)
Ctrl-g k : 1行上にに動。カーソルは挿入開始位置と同じ列へ (Ctrl-g Ctrl-k, Ctrl-g <Up>でも可)
<Right> : 1文字右に移動
<Left> : 1文字左に移動
<Home> : 行頭に移動
Shift-Right : 1単語右に移動
Shift-Left : 1単語左に移動

削除

<BS> : カーソル前の1文字を削除 (Ctrl-hでも可)
<Del> : カーソル位置の1文字を削除
Ctrl-w : カーソル前の1単語を削除
Ctrl-u : カーソル行の入力をすべてキャンセル

インデント

Ctrl-t : shiftwidth 分インデントを増やす
Ctrl-d : shiftwidth 分インデントを減らす
0 Ctrl-d : 現在行のインデントをすべて削除
^ Ctrl-d : 現在行のインデントをすべて削除(次の行に影響しない)

スクロール

Shift-Up : 1画面上にスクロール
Shift-Down : 1画面下にスクロール
Ctrl-x Ctrl-y : 1行上へスクロール
Ctrl-x Ctrl-e : 1行下へスクロール

補完

挿入モード中は様々な法で入力中の単語を補完することができます。補完候補が複数ある場合は補完リストが表示され、Ctrl-p, Ctrl-n で候補から選択することができます。

Ctrl-p : カーソル位置の単語を前方に検索して補完
Ctrl-n : カーソル位置の単語を後方に検索して補完(タグリストも検索)
Ctrl-x Ctrl-p : カーソル位置の単語をファイル内から検索して補完(前方検索優先)
Ctrl-x Ctrl-n : カーソル位置の単語をファイル内から検索して補完(後方検索優先)
Ctrl-x Ctrl-l : カーソル位置の行にマッチする行をファイル内から検索して補完
Ctrl-x Ctrl-k : カーソル位置の単語を dictionary で指定した辞書ファイルから検索して補完
Ctrl-x Ctrl-] : カーソル位置の単語をタグリストから検索して補完
Ctrl-x Ctrl-f : カーソル位置の単語をファイル一覧から検索して補完
Ctrl-x Ctrl-s : スペリング補完。Ctrl-s の代わりに s を使用することも (未検証)
Ctrl-x Ctrl-v : Vim のコマンドラインキーワードから補完
Ctrl-x Ctrl-u : ユーザ定義補完。completefunc で指定したユーザ定義関数を用いて補完 (未検証)
Ctrl-x Ctrl-o : オムニ補完。omnifunc で指定したオムニ関数を用いて補完 (未検証)
Ctrl-x Ctrl-d : 定義やマクロ(C言語用) (#define)
Ctrl-x Ctrl-i : 識別子補完。編集中と外部参照ファイルのキーワード(未検証)
Ctrl-x Ctrl-t : 類語補完。thesaurus のキーワード, thesaurus-style (未検証)
Ctrl-x Ctrl-z : 補完を中止

Ctrl-p, Ctrl-n の補完対象はオプション complete で変更することもできます。

:set complete=.,w,b,u,t,i (規定値)
  . : カレントバッファ
  w : 別ウィンドウのバッファ
  b : バッファリスト内の未読込バッファ
  u : バッファリスト内の読込済バッファ
  U : バッファリスト外のバッファ
  k : dictionary で指定された辞書ファイル
  s : thesaurus で指定されたファイル
  i : カレントファイルとインクルードされるファイル
  d : カレントファイルとインクルードされるファイルで定義された名前やマクロ
  t : タグファイル(tags)
  ] : タグファイル(tags)
  kspell : 現在有効化されているスペルチェック
  k{dict} : dictで指定された辞書ファイル。複数指定可 (例:kDict1,kDict2,kDict*)
  s{tsr} : tsrで指定されたファイル。複数指定可 (例:sFile1,sFile2,sFile*)

特殊文字

Ctrl-vkey : キーに対応する文字を直接入力 (例:Ctrl-v <Esc> はエスケープ文字を挿入)
Ctrl-vnum : 数字に対応するASCII文字を入力 (例:Ctrl-v65 は A を挿入)
:digraphs(:dig) : ダイグラフ(2字の半角文字)とそれに対応する特殊文字の一覧を表示する
Ctrk-kc1c2 : ダイグラフ(2字の半角文字)に対応する特殊文字を挿入する (例:Ctrl-k!= で不等記号(≠)を挿入)
c1<BS>c2 : ダイグラフ(2字の半角文字)に対応する特殊文字を挿入する (digraph が on の時有効)
:set digraph : <BS> によるダイグラフ入力を可能とする

その他

Ctrl-oCommand : ノーマルモードのコマンドを1回実行して挿入モードに戻る (例:Ctrl-o0 は挿入モードのまま行頭に移動)
Ctrl-y : 上の行のカーソル位置の文字を挿入
Ctrl-e : 下の行のカーソル位置の文字を挿入
Ctrl-a : 直前に挿入した文字列を挿入
Ctrl-@ : 直前に挿入した文字列を挿入して挿入モードを終了
Ctrl-rregister : レジスタ register の内容を挿入

Copyright (C) 2023 杜甫々
初版:2023年8月6日 最終更新:2023年8月13日
http://www.tohoho-web.com/vim/insert.html