So-net無料ブログ作成

vimのコマンドの使い方

vimのよく使うコマンド、覚えておくと役立つコマンドの操作方法をまとめてみました。

vimの基本コマンド操作方法

vim ⏎Enter
vi ⏎Enter
シェルコマンドラインからvimを起動


vimでファイルを開く

vim ファイル名パス ⏎Enter
vi ファイル名パス ⏎Enter
シェルコマンドラインから任意のファイル編集を前提にvimを立ち上げる。(存在しないファイル名をパスで指定した場合、パスで指定した箇所にファイルが新規作成されて開かれます)


:e ファイル名パス ⏎Entervimを単独で立ち上げている場合、vim内で任意のファイルを開く。 (存在しないファイルをパスで指定した場合、パスで指定した箇所にファイルが新規作成されて開かれます)



vim終了の仕方

:q! ⏎Enter変更を破棄して終了


:wq ⏎Enter変更を保存して終了


:wq ファイル名 ⏎Enterファイル内容を任意のファイルに保存して終了

(指定したファイルが存在しない場合は新規作成されて保存される)

またノーマルモードから下記のようにタイプするのも有効です
ZQ ⏎Enter保存せずに終了


ZZ ⏎Enter保存して終了


Ctrl + zvimを中断。 gVimではタスクバーに最小化されますが、端末版ではプロセスがバックグラウンドに移行されます。fg でフォアグラウンドに復活させられます。


vimのモード

vimにはたくさんのモードがあり、モードを切り替えることでキーの割り当てが変化し、多種多様な処理が行えます。

たくさんあるモードの中でも下記4つのモードが中心的な役割をはたしており、vimを習得する場合、特に注目するべきポイントとなります。

ノーマルモードカーソル移動やテキストの削除、コピー、ペーストなどの操作が行えるモード
ビジュアルモードテキスト範囲を選択できるモード
挿入モードテキスト入力モード
コマンドラインモードファイルを開く、検索・置換・保存・終了などの操作を行うモード


ノーマルモード

ノーマルモードにおける各キーの割り当て。
h左にカーソル移動


j下にカーソル移動


k上にカーソル移動


l右にカーソル移動


0(ゼロ)行の先頭にカーソル移動


^行の最初の空白でない文字にカーソル移動


$行末にカーソル移動


ggファイルの先頭へカーソル移動


Gファイルの最後の行の先頭にカーソル移動


Ctrl + b1ページ上にスクロール


Ctrl + f1ページ下にスクロール


ノーマルモード(編集コマンドとの併用)

xカーソル位置を削除


dwカーソル位置から空白を含む単語の終わりまでを削除


deカーソル位置から空白を含まない単語の終わりまでを削除


dd1行を削除


yy1行コピー


p(小文字)下の行にput(貼り付け)


P(大文字)上の行にput(貼り付け)


y$カーソル位置から行末までをコピー


d$カーソル位置から行末まで削除


d0(ディーゼロ)カーソル位置から行の先頭までを削除


u動作を取り消す


U行全体の変更を取り消す


Ctrl + r取り消しの取り消し

他のモード中に「Esc」、「Ctrl + c」、「Ctrl +[」のいずれかをタイプすることでこのノーマルモードに戻ることができます。
指の移動距離を考えると、「Ctrl + c」でノーマルモードに戻るのが効率が良さそうです。

挿入モード

このモードではタイプするテキストをそのまま入力することが出来ます。

ノーマルモードから 「i」「I」「a」「A」「o」「O」などをタイプすることで挿入モードに移行します。
i(アイ小文字)カーソル位置から挿入


I(アイ大文字)行の先頭から挿入


c^カーソル位置から空白を除く行の先頭までを削除してインサートモードへ
aカーソル右から挿入
A行末から挿入
o(オー小文字)カーソルの下に空行を作ってその先頭から挿入
O(オー大文字)カーソルの上に空行を作ってその先頭から挿入

ビジュアルモード

選択領域のコピーや削除を始めとしたテキスト処理を行う事が出来るモードです。 ノーマルモードから下記の操作でこのモードに移行することができます。
v文字単位のビジュアルモードに移行
V行単位のビジュアルモードに移行
Ctrl + v矩形選択ビジュアルモードに移行
gv前回選択した範囲をもう一度選択

コマンドラインモード

コマンドや関数の実行、検索、置換処理などを行うことができるモードです。 ノーマルモードから 「:」、「/」、「?」のいずれかをタイプするとコマンドラインモードに入ることができます。
:コロンに続けてコマンドをタイプで実行
:!「:!」に続けて外部コマンドをタイプで実行(EXモード)
/前方検索を行う
?後方検索を行う
冒頭のほうで紹介した終了時の「:q!」や「:wq」も、「:」をタイプすることでコマンドラインモードに入り、続けて「q!」や「wq」とタイプすることで終了処理を実行しているわけです。 前方に向かって検索を行うには「/」とタイプし、「/」の後に検索対象をタイプしてEnterで検索を開始します。
/検索文字
検索対象が複数ヒットした場合、各値を移動する際は、「n」で次のヒット値へ、「N」で前のヒット値へと移動することができます。 後方に向かって検索を行うには「?」とタイプし、「?」の後に検索対象をタイプしてEnterで検索を開始します。
?検索文字
後方検索においては「n」「N」の移行順序が前方検索の時と逆になります。 予めオプションをセットすることで検索条件、処理結果に変化を与えることができます。
:set ic
とタイプしてから検索をかけると大文字、小文字を区別せずに検索対象がヒットします。 「大文字、小文字を区別する」に戻したいならオプションの先頭に「no」を付けてセットします。
:set noic
デフォルトのオプション値は「~/.vimrc」の設定内容によります。
:set hls
とタイプしてから検索するとヒット値を強調表示させることが出来ます。 強調表示をやめたいときは
:set nohls
とタイプします。 部分マッチしている部分を表示させたいなら
:set is
やめるときは
:set nois
各オプションを組み合わせてセットすることも可能です。
:set ic hls
上の例は大文字、小文字を区別せずに検索し、ヒット値を強調表示させます。 複数のオプションを一括で無効にするには
:set noic nohls
vim操作がある程度、身についてしまえば、モードの切り替えは、それほど意識しなくても済むようになります。 vim操作の応用としては、vimのチュートリアルに従い、様々なシチュエーションで操作してみることをお奨めします。 チュートリアルを実践することで、vimに対する漠然とした考えが消え、その後のvim操作をよりスムーズに行うことが出来るようになるはずです。 シェルプロンプトからvimのチュートリアルを立ち上げるには下記のようにタイプします。
vimtutor⏎Enterチュートリアル起動


共通テーマ:パソコン・インターネット