コマンドラインモード

ノーマルモードで : を入力するとコマンドラインモードに移行します。 : が入力されるとカーソルが画面の最下行付近に移動し、 ここでテキストを操作する様々なコマンドを入力して実行することができます。

コマンド入力を(コマンド入力途中であっても)取り消すには ESC または CTRL+[ でキャンセルしてください。

このコマンドラインモードから様々な編集操作を行えるのが vim 系の大きな特徴の一つだと思っています。 (他の一般的なエディタだと編集操作が特殊キー(CTRL キーなど)との組み合わせになってしまい 自ずとやれる編集操作の数や複雑さが制限されてしまうので (注: emacs 系は除く))

コマンドの実行には以下のようなパターンがあります。

普通にコマンドを実行する場合

:expandtab

範囲指定してコマンドを実行する場合

行番号で範囲を指定して実行する例

:100,200expandtab

ファイル先頭から現在行までを指定して実行する例 (ピリオド(.)が現在行を表します)

:1,.expandtab

現在行からファイル末尾までを指定して実行する例 (ピリオド(.)が現在行を表します)

:.,$expandtab

ファイル全体を指定して実行する例 (パーセンテージ(%)がファイル全体を表します)

:%expandtab

Visual モードで範囲選択して実行する例 (バックスラッシュ(`)がレジスタ参照を表します)

:'<,'>expandtab

・厳密に言うと Visual モードの範囲選択で設定された < レジスタと > レジスタの 行範囲に対して実行するという話です。

レジスタで行をマークしておいてその範囲で実行することも出来ます。

:'b,'eexpandtab

パターンで検索した行の間を範囲として実行することもできます。

:/begin/,/end/expandtab

上記は rangesearch と組み合わせると検索したキーワード間で別の検索を行う、というようなこともできます。

:/begin/,/end//hello

コマンド一覧

コマンド一覧を以下に示します。 予約語として用意だけして未実装のものもいくつかあります。 デバッグ用途としてですがコマンドプロンプトから uvw --list-commands で(予約語を含めた)コマンドの一覧が出力できます。

個々の説明の記述はおいおい埋めていきますが、気になるものについては :help コマンドでクイックヘルプを参照するか、 vim 系列がそもそも備えているコマンドについては 本家 vim で :help :append などでヘルプを参照すれば コマンドの意味が分かるかも知れません。

コマンド 省略形 説明 備考
:append (予約) 未実装
:all :al 引数に指定されたファイル全てをウィンドウで開く。
:abbreviate :ab 略語を表示/登録する。
:args :ar 引数に指定されたファイルを表示する。
:argument :argu N 番目のファイルを編集する。
:alias :ali (予約) 未実装
:automark :autom range 範囲の pattern を検索し、一時マークを付ける。 uvw固有
:autonumber :auton 自動採番の開始値を増減値を表示/設定する。 uvw固有
:abort :abo エディタを abort() させる。 uvw固有
:buffer :b N 番目のバッファを編集する。
:ball 全てのバッファを編集状態にする。
:buffers バッファとファイル名を全て表示する。(:files と同じ)
:bdelete :bd N 番目のバッファをアンロードし、ファイルリストから削除する。
:bunload :bun N 番目のバッファをアンロードする。
:bmodified :bmod 変更されたバッファを編集する。
:bnext :bn 次のバッファを編集する。
:bNext :bN 前のバッファを編集する
:bprevious :bp 前のバッファを編集する。
:brewind :br 最初のバッファを編集する。
:blast :bl 最後のバッファを編集する。
:basedecode (予約) 未実装
:baseencode (予約) 未実装
:change (予約) 未実装
:cabbrev :cab コマンドラインモードの略語を表示/登録する。
:cc エラーを表示する。
:cd 作業ディレクトリを変更する。
:center テキストを中央揃えする。
:cf エラーファイルを新たに読み込む。
:chdir 作業ディレクトリを変更する。
:cl 全部のエラーを表示する。
:close 現在のウィンドウを閉じる。(バッファは解放されない)
:cmap コマンドラインモードでのマッピングを表示/登録する。
:cn 次のエラーを表示する。
:cnoremap コマンドラインモードでのマッピング(再マップなし)を登録する。
:cnoreabbrev :cnoreab コマンドラインモードの略語を表示/登録する。(再マップしない)
:copy 行コピー(指定行番号の後に)
:cp 前のエラーを表示する。
:cq エディタを終了する。
:cunmap コマンドラインモードでのマッピングを削除する。
:cunabbrev :cunab コマンドラインモードの略語を削除する。
:delete 行を削除する。
:display レジスタ内容を表示する。
:digraphs (無効) 未使用
:delmarks マークを削除する。 追加
:diff (予約) 未実装
:dir 現在のディレクトリのファイル一覧を表示する。 uvw固有
:dirs ディレクトリ変更の履歴を表示する。 uvw固有
:debuginfo リリース物件では無意味
:edit ファイルを開く。ファイル指定がない場合には現在のファイルを再読み込みする。
:ex ex コマンドを実行する。
:exit (現在のファイルを書き出して)エディタを終了する。
:expandtab タブを空白に変換する。 uvw固有
:euc EUC-JP の文字コードに対応する文字をカーソル位置に挿入する。 uvw固有
:file 現在のファイル名、カーソル位置情報を表示する。
:files バッファとファイル名を全て表示する。(:buffers と同じ)
:filer filer パラーメータで指定されたファイラーを起動する。 uvw固有
:global パターン検索で一致した行に対して ex コマンドを実行する。
:grep grepprg パラメータで指定されたプログラムを実行する。
:help ヘルプを表示する。
:history コマンドラインの履歴を表示する。 追加
:hankaku 全角を半角に変換する。(行単位) uvw固有
:hanzen 半角を全角に変換する。(行単位) uvw固有
:hlsearch 検索文字列の強調表示を再開する。 uvw固有
:insert (予約) 未実装
:iabbrev :iab インサートモードの略語を表示/登録する。
:imap インサートモードでのキーマッピングを表示/登録する。
:inoremap インサートモードでのキーマッピング(再マップなし)を表示/登録する。
:inoreabbrev :inoreab インサートモードの略語を表示/登録する。(再マップしない)
:iunmap インサートモードでのキーマッピングを削除する。
:iunabbrev :iunab インサートモードの略語を削除する。
:join 行を連結する。
:jumps ジャンプリストを表示する。
:jspace 全角文字と半角英数字の間に空白を空ける。 uvw固有
:junspace 全角文字と半角英数字の間の空白を詰める。 uvw固有
:jis ISO-2022-JP の文字コードに対応する文字をカーソル位置に挿入する。 uvw固有
:k マークを付ける。
:list list パラメータを有効にして現在行を表示する。(list 有効の :print)
:last 最後のファイルを編集する。
:left テキストを左寄せする。
:ls 現在のディレクトリのファイル一覧を表示する。 非互換
:ltrim 行頭の空白文字を削除する。(全角空白含む) uvw固有
:move 行移動(指定行番号の後に)
:mark マークを付ける。
:marks マークの一覧を表示する。
:map ノーマルモードでのマッピングを表示/登録する。
:make makeprg パラメータで指定されたプログラムを実行する。
:match パターンで一時的に強調表示を行う。 非互換
:mkexrc 変更されているオプションをファイルに保存する。
:mkuvwrc 変更されているオプションをファイルに保存する。 uvw固有
:mfstat memfile の統計情報を表示する。 jvim由来
:mode (無効) 未使用
:next 次のファイルを編集する。
:new 新しいウィンドウを開く。
:number 行番号付きで現在行を表示する。(行番号付きの :print)
:# :number と同じ。
:noremap ノーマルモードでのマッピング(再マップなし)を表示/登録する。
:noreabbrev :noreab 略語を表示/登録する。(再マップしない)
:Next 前のファイルを編集する
:ndir 履歴を(先に)辿って作業ディレクトリを変更する。 uvw固有
:nextdir (:nd コマンドと同じ) uvw固有
:nohlsearch 検索文字列の強調表示を停止する。 uvw固有
:norangesearch 範囲検索を解除する。 uvw固有
:only 現在のウィンドウ以外を閉じる。
:print 現在行を表示する。
:pop タグジャンプを遡る。
:put 貼り付け。
:preserve 全てのファイルをスワップファイルに保存する。
:previous 前のファイルを編集する
:pwd 現在の作業ディレクトリを表示する。
:pdir 履歴を遡って作業ディレクトリを変更する。 uvw固有
:permutate fieldseparatorで分割して文字列の順番を入れ替えます。 uvw固有
:prevdir (:pd コマンドと同じ) uvw固有
:quit (現在のファイルを)閉じる。単一ファイルの場合はエディタを終了する。
:qall (開いているエディタ上の全ファイルを閉じて)エディタを終了する。
:read 現在行の直後にファイルの内容を挿入する。
:rewind 最初のファイルを編集する。
:recover (予約) 未実装
:redo 直前の :undo を取り消す。(やり直しの取消)
:registers レジスタ内容を表示する。
:resize ウィンドウの高さを調整する。
:right テキストを右寄せする。
:rtrim 行末の空白文字を削除する。(全角空白含む) uvw固有
:substitute 置換を実行する。
:sargument :sa (ウィンドウを分割して)N 番目のファイルを編集する。
:sall :sal 引数で指定されたファイル全てをウィンドウで開く。
:sbuffer :sb N 番目のバッファを編集する。
:sball 全てのバッファを編集状態にする。
:sbmodified :sbmod 変更されたバッファを編集する。
:sbnext :sbn 次のバッファを編集する。
:sbNext :sbN 前のバッファを編集する。
:sbprevious :sbp 前のバッファを編集する。
:sbrewind :sbr 最初のバッファを編集する。
:sblast :sbl 最後のバッファを編集する。
:suspend GUI ウィンドウを最小化する。
:set オプションを設定する。
:setkeymap (予約) 未実装
:shell シェルを起動する。
:sleep スリープする。
:source コマンドをファイルから読み込む。(ex コマンド/normal コマンド)
:split ウィンドウを分割する。
:snext 次のファイルを編集する。
:sNext 前のファイルを編集する。
:sprevious 前のファイルを編集する。
:srewind 最初のファイルを編集する。
:slast 最後のファイルを編集する。
:stop GUI ウィンドウを最小化する。
:sunhide 全てのバッファを編集する。
:swapname スワップファイル名を表示する。
:sjis SJIS の文字コードに対応する文字をカーソル位置に挿入する。 uvw固有
:sum 指定範囲内の 10 進数の総計を求める。 uvw固有
:slide 現在のファイルをスライドモードで表示する。 uvw固有
:sort (予約) 未実装
:t (:copy と同じ)
:tag タグジャンプする。
:tags タグスタックリストを表示する。
:tail ファイルの末尾を追跡する。 uvw固有
:transform :tr 文字セット1を文字セット2の文字に置き換える。(:y と同じ) uvw固有
:trash 作業ディレクトリ配下のファイルを(ワイルドカード指定で)ゴミ箱に送る。 uvw固有
:trim 行頭/行末の空白文字を削除する。(全角含む) uvw固有
:trimblankline :trimbl 単一の空行を削除し、連絡した空行を 1 行に詰める。 uvw固有
:unabbreviate :una 指定された略語を削除する。
:undo 直前の変更を取り消す。(やり直し)
:unhide 全てのバッファを編集する。
:unmap ノーマルモードでのマッピングを削除する。
:unexpandtab 空白をタブに変換する。 uvw固有
:ucs UCS-4 の文字コードに対応する文字をカーソル位置に挿入する。 uvw固有
:utf UTF-8 の文字コードに対応する文字をカーソル位置に挿入する。 uvw固有
:uniq (予約) 未実装
:uniqblankline :uniqbl 連続した空行を 1 行に詰める。 uvw固有
:urldecode URL エンコードされた行をデコードすする。 uvw固有
:urlencode 行を URL エンコードする。 uvw固有
:uudecode (予約) 未実装
:uuencode (予約) 未実装
:unidecode Unicode 表記された文字(U+xxxx, \u{xxxx})をデコードする。 uvw固有
:uniencode 行を Unicode 表記(\u{xxxx})にエンコードする。 uvw固有
:vglobal パターン検索で一致しなかった行に対して ex コマンドを実行する。
:version バージョンを表示する。
:visual (:edit とほぼ同じ)
:write 現在のファイルを書き出す。
:wnext ファイルを書き出し、次のファイルを編集する。
:wNext ファイルを書き出し、前のファイルを編集する。
:wprevious ファイルを書き出し、前のファイルを編集する。
:winsize GUI ウィンドウの幅と高さを表示/設定する。(文字単位) 動作変更
:winpos 現在の GUI ウィンドウの位置を表示/設定する。(ピクセル単位) 動作変更
:wq (現在のファイルを書き出して)エディタを終了する。
:wall 開いているエディタ上の全ファイルを書き出す。
:wqall (開いているエディタ上の全ファイルを書き出して)エディタを終了する。
:wide UCS-2 の文字コードに対応する文字をカーソル位置に挿入する。 uvw固有
:xit (:exit と同じ)
:xall (開いているエディタ上の全ファイルを閉じて)エディタを終了する。
:yank 行をコピーする。
:y 文字セット1を文字セット2の文字に置き換える。
:z (予約) 未実装
:zenkaku 半角を全角に変換する。(行単位) uvw固有
:zenhan 全角を半角に変換する。(行単位) uvw固有
:syntax 強調表示のパターンを登録する。
:@ キーマクロを実行する。
:! シェルコマンドを実行する。
:< 行を逆インデントする。
:> 行をインデントする。
:= ファイルの行数を表示する。
:& 直前の置換を繰り返する。
:~ 直前の(別の)検索に対して、直前と同じ置換を行う。
:/ キーワードを前方検索する。(範囲検索有効時) uvw固有
:? キーワードを後方検索する。(範囲検索有効時) uvw固有

戻る