# Vimのインサートモードでできること

こんにちわ ゴリラです。

久しぶりの投稿になりました。 今年に入って自分のOSSの活動やらイベント登壇やらで、 あまり記事を書く時間とっていなかったので久しぶりに書きました。

最近、vimのインサートモードでなにげに色々できることを知ったので、 それについて軽くまとめた記事になります。

知らないこと多かったので、自分は結構勉強になりました。 この記事で紹介した内容を大体知っている方は、多分すごいvimmerと思われます。

# ペースト (opens new window)

ペーストする時はノーマルモードに戻ってからペーストすることが一般的(と思われる)ですが、 実はyankしたデータはレジスタに入っていて、 そのレジスタの内容をインサートモードでも挿入することができます。

Ctrl + rでレジスタ名が挿入するのを待ってくれます。 その状態で挿入したいレジスタ入力するだけでOKです。

insert-paste.gif

ちなみに、自動インデントの場合は、Ctrl + r && Ctrl + oのあとにレジスタを入力すると自動インデントされないので、困った場合はこちらのオペレーションにしましょう。

# インデント調整 (opens new window)

Ctrl + tでshiftwidth分インデントされます。 Ctrl + dでshiftwidth分インデント削除されます。

indent.gif

# 補完 (opens new window)

vimは標準でいろんな補完が用意されています。

# ファイル補完

Ctrl + x Ctrl + fでファイル一覧を選べます。 file-completion.gif

# オムニ補完

Ctrl + x Ctrl + oでオムニ補完します。 omuni-completion.gif

# 単語補完

Ctrl + x Ctrl + nで現在開いているファイルにある単語一覧を選べます。 line-completion.gif

# 文字挿入・削除

# 一文字削除

Ctrl + hで一文字削除します(backspace同様) remove-char.gif

# 一単語削除

Ctrl + wで一単語を削除します。 remove-word.gif

# カーソルより前をすべて削除

Ctrl + uで現在のカーソルより前に入力した文字をすべて削除します。 remove-all.gif

# カーソルの一段上の文字をそのまま挿入

Ctrl + yで現在のカーソルの一段上の文字をそのまま挿入します。 insert-up.gif

# 一度コマンド実行して、インサートモードに戻る

Ctrl + oでコマンド(yyやらddやら:xxxやら)を実行できて、完了後インサートモードに戻る。 one-command.gif

# まとめ

全部日本語ドキュメントに書いてあることですが、 gif付きでわかりやすい備忘録として残しておきました。

https://vim-jp.org/vimdoc-ja/insert.html (opens new window)