Vim

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

こんにちわ

ゴリラです。

久しぶりの投稿になりました。

今年に入って自分のOSSの活動やらイベント登壇やらで、

あまり記事を書く時間とっていなかったので久しぶりに書きました。

最近、vimのインサートモードでなにげに色々できることを知ったので、

それについて軽くまとめた記事になります。

知らないこと多かったので、自分は結構勉強になりました。

この記事で紹介した内容を大体知っている方は、多分すごいvimmerと思われます。

[2019/01/24]

いくつかキーが間違えていたので、修正しました


ペースト

ペーストする時はノーマルモードに戻ってからペーストすることが一般的(と思われる)ですが、

実はyankしたデータはレジスタに入っていて、

そのレジスタの内容をインサートモードでも挿入することができます。

Ctrl + rでレジスタ名が挿入するのを待ってくれます。

その状態で挿入したいレジスタ入力するだけでOKです。

insert-paste.gif

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


インデント調整

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

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

indent.gif


補完

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