VIMTUTOR チュートリアルまとめ#
この記事は Vimtutor チュートリアルの七章のまとめに基づいており、この文書を作成することで、日常的に Vim を使用する際や暇な時に Vim の基本操作を振り返ることができるようにしています。また、Vim エディタを学びたいと思っている学生に基本操作の理解を助けるためにも役立ちます。
第一講#
カーソル移動
- カーソルは画面上のテキスト内で矢印キーを使うことも、hjkl のキーを使うこともできます。
- h (左移動)
- j (下移動)
- k (上移動)
- l (右移動)
VIM の起動と終了
- Vim エディタを起動するには(コマンドラインプロンプトから)、次のように入力します:vim ファイル名
- Vim エディタを終了するには、
<ESC>
を入力してください。 - ! で全ての変更を放棄します。
<ESC>
を入力して<Enter>
で変更を保存します。<ESC>
を押すと通常モードに戻り、入力したくない不完全なコマンドを取り消すことができます。
テキスト編集の挿入と削除
- 通常モードでカーソルの位置にある文字を削除するには、次のように押します: x
- テキストを挿入または追加するには、次のように入力します:
- i 挿入したいテキストを入力し、カーソルの前にテキストを挿入します。
- A 挿入したいテキストを入力し、カーソルの後にテキストを追加します。
第二講#
削除コマンド
- dw :現在のカーソルから次の単語まで削除します。
- d$:現在のカーソルから現在の行の末尾まで削除します。
- dd : 行全体を削除します(実際にはカットです)。
コマンドとオブジェクト
- 通常モードでコマンドの形式を変更するには:
operator [number] motion
例:d2w、次の 2 つの単語を削除します。
ここで:
operator - オペレーター、行うことを示します。例えば d は削除を示します。
number - 追加できる数字、動作の繰り返し回数を示します。
motion - 動作、操作するテキスト内での移動を示します。
例えば w は単語(word)、$ は行末などを示します。
カウントを使った動作指定
- 2w : カーソルを前に 2 つの単語分移動させます。
- 3e: カーソルを前に 3 つ目の単語の末尾まで移動させます。
- 0 : カーソルを行の先頭に移動させます。
行全体と取り消し
- dd 行全体を削除します。
- u:前の操作を取り消します。
- U:1 行内で行った変更を取り消します。
- CTRL+R:取り消しを元に戻します。
第三講#
挿入コマンド
- p:削除したテキストを再挿入するには、小文字の p キーを押します。この操作は削除したテキストをカーソルの後に置きます。最後に削除したのが行全体であれば、その行は現在のカーソルのある行の次の行に置かれます。
置換コマンド
- r:カーソルの位置にある文字を置き換えるには、小文字の r と置き換えたい新しい文字を入力します。
- R: 大文字の R は置換モードに入ります。
変更コマンド
- c:変更コマンドは、現在のカーソルの位置から動作指示の位置までのテキストを変更することを許可します。
例えば、ce と入力すると、カーソルから単語の末尾までの内容を置き換えます;c$ と入力すると、現在のカーソルから行末までの内容を置き換えます。
変更コマンドの形式:c [number] motion
第四講#
位置情報とファイル状態
- CTRL-G は現在のカーソルの位置とファイルの状態情報を表示します。
G はカーソルをファイルの最後の行に移動させます。
行番号を入力してから大文字の G を入力すると、その行番号が示す行にカーソルが移動します。
gg はカーソルをファイルの最初の行に移動させます。
検索コマンド
- /:/ を入力してから文字列を続けると、現在編集中の文書内でその文字列を前方に検索します。
?:? を入力してから文字列を続けると、現在編集中の文書内でその文字列を後方に検索します。
一度の検索が完了した後、n キーを押すと前回のコマンドを繰り返し、同じ方向で次の一致する文字列を検索します。
大文字の N を押すと反対方向で次の一致する文字列を検索します。
CTRL-O は古い位置に戻り、CTRL-I は新しい位置に移動します。
対になる括弧の検索
- カーソルの現在位置が括弧 (、)、[、]、{、} の場合、% を押すとカーソルが対になる括弧に移動します。
置換コマンド
- 一行内で最初の文字列 old を新しい文字列 new に置き換えるには、
/old/new と入力します。 - 一行内で全ての文字列 old を新しい文字列 new に置き換えるには、
/old/new/g と入力します。 - 二行内で全ての文字列 old を新しい文字列 new に置き換えるには、:
#,#s/old/new/g
と入力します。 - ファイル内で全ての文字列 old を新しい文字列 new に置き換えるには、:% s/old/new/g と入力します。
- 全文置換を行う際にユーザーに確認を求めるには、c フラグを追加します:% s/old/new/gc
第五講#
外部コマンドの実行
- :!command は外部コマンド command を実行します。
- :!dir :!ls - 現在のディレクトリの内容を表示します。
- :!del FILENAME :!rm FILENAME - FILENAME という名前のファイルを削除します。
ファイル内容の保存
- FILENAME は現在 VIM で編集中のファイルを FILENAME という名前のファイルに保存します。
選択的保存コマンド
- v motion FILENAME は現在編集中のファイルのビジュアルモードで選択した内容を FILENAME に保存します。
ファイルの抽出と結合
- FILENAME はディスクファイル FILENAME を抽出し、現在のファイルのカーソル位置の後ろに挿入します。
- !dir は dir コマンドの出力を読み取り、現在のファイルのカーソル位置の後ろに配置します。
第六講#
オープンコマンド
- o:小文字の o を入力すると、カーソルの下に新しい行を開いて挿入モードに入ります。
- O:大文字の O を入力すると、カーソルの上に新しい行を開きます。
追加コマンド
- a:小文字の a を入力すると、カーソルの位置の後ろにテキストを挿入します。
- A:大文字の A を入力すると、カーソルのある行の行末の後ろにテキストを挿入します。
- e:コマンドはカーソルを単語の末尾に移動させます。
別の変換コマンドのバージョン
- オペレーター y はテキストをコピーし、p は以前にコピーしたテキストを貼り付けます。
- 大文字の R を入力すると置換モードに入り、
<ESC>
キーを押すまで通常モードに戻りません。
テキストのコピーと貼り付け
- y:コピー
- p:以前にコピーしたテキストを貼り付けます。
- yy:行をコピーします。
コマンドのオプション設定
- xxx と入力すると xxx オプションを設定できます。一部の便利なオプションは以下の通りです:
'ic' 'ignorecase' 検索時に大文字と小文字を無視します。
'is' 'incsearch' フレーズを検索する際に部分一致を表示します。
'hls' 'hlsearch' すべての一致するフレーズをハイライト表示します。
オプション名は完全なバージョンでも省略バージョンでも使用できます。
オプションの前に no を付けるとオプションを無効にできます: noic
第七講#
ヘルプ情報の取得
- と入力するか、
<F1>
キーまたは<Help>
キーを押すとヘルプウィンドウが開きます。 - cmd と入力すると cmd コマンドに関するヘルプが見つかります。
- CTRL-W CTRL-W を入力するとウィンドウ間を移動できます。
- と入力してヘルプウィンドウを閉じます。
スタートアップスクリプトの作成
- vimrc スタートアップスクリプトファイルを作成して、好みの設定を保存できます。
補完機能
- : コマンドを入力すると、CTRL-D を押すことで可能な補完結果を表示できます。
を押すと補完を使用できます。