| viコマンド一覧 |
|
| ジャンプコマンド |
| 文字指向のジャンプ |
| h,j,k,l |
右、下、上、右(または←、↓、↑、→)
|
| テキスト指向のジャンプ |
| w,W,b,B |
前/後の単語 |
| e,E |
単語の末尾 |
| ),( |
次/前の文の先頭 |
| },{ |
次/前の段落の先頭 |
| ]],[[ |
次/前のセクションの先頭 |
| 行指向のジャンプ |
| 0,$ |
カレント行の先頭/末尾 |
| ^ |
カレント行の先頭の(空白以外の)末尾 |
| +,- |
次/前の行の先頭の文字 |
| n| |
カレント行のn文字目 |
| H |
画面の最上行 |
| M |
画面の中央行 |
| L |
画面の最下行 |
| nH |
上からn行目の行 |
| nL |
下からn行目の行 |
| 画面指向のジャンプ |
| CTRL-F,CTRL-B |
次/前の画面にスクロール |
| CTRL-D,CTRL-U |
上/下に半画面分スクロール |
| CTRL-E,CTRL-Y |
ウインドウの上/下にもう一行表示 |
| z RETURN |
カーソルのある行を画面の一番上に表示 |
| z. |
カーソルのある行を画面の中央に表示 |
| z- |
カーソルのある行を画面の一番下に表示 |
| 検索 |
| /pattern |
パターンを順方向に検索 |
| ?pattern |
パターンを逆方向に検索 |
| n,N |
最後の検索を、同じ/反対の方向で繰り返す |
| /,? |
直前の検索を、順方向/逆方向に繰り返す |
| fx |
カレント行内の、カーソル位置よりうしろにあるxにジャンプ |
| Fx |
カレント行内の、カーソル位置より前にあるxにジャンプ |
| tx |
カレント行内の、カーソル位置よりうしろにあるxの直前の文字にジャンプ |
| Tx |
カレント行内の、カーソル位置より前にあるxの直前の文字にジャンプ |
| ; |
直前のカレント行検索を繰り返す |
| , |
直前のカレント行検索を反対方向で繰り返す |
| 行番号によるジャンプ |
| CTRL-G |
カレント行の行番号表示 |
| nG |
行番号nにジャンプ |
| G |
ファイルの最終行にジャンプ |
| :n |
行番号nにジャンプ |
| 位置のマーク |
| mx |
現在位置をxとしてマーク(マークは ' と a-z です。) |
| 'x |
xにジャンプ |
| '' |
直前のマークまたは文脈に戻る |
| `x |
マークxを含む行の先頭にジャンプ |
| `` |
直前のマークを含む行の先頭に戻る |
| 編集コマンド |
| 挿入 |
| i,a |
カーソルの前/後にテキストを挿入 |
| I,A |
行の先頭/末尾にテキストを挿入 |
| o,O |
カーソルの下/上にテキスト入力用の新しい行をオープン |
| 変更 |
| r |
次にタイプする文字に置き換える |
| ~ |
大文字小文字の変換 |
| cm |
ジャンプコマンドmで指定されるテキストブロックを変更 |
| cc |
カレント行を変更 |
| C |
行末まで変更 |
| R |
文字列を重ね書きする |
| s |
文字をテキストで置き換える |
| S |
カレント行をテキストで置き換える |
| 削除、移動 |
| x |
文字の削除 |
| X |
カーソルの前にある文字の削除 |
| dm |
ジャンプコマンドmで指定されるテキストブロックを削除 |
| dd |
カレント行の削除 |
| D |
行末まで削除 |
| p,P |
削除したテキストをカーソルの後/前に挿入 |
| "nP |
カーソルのあとに、削除バッファ番号nのテキストを挿入 |
| ヤンク(コピー) |
| ym |
ジャンプコマンドmで指定されるテキストブロックのヤンク(コピー) |
| yy,Y |
カレント行のヤンク |
| "ayy |
aというバッファにカレント行のヤンク |
| p,P |
ヤンクしたテキストをカーソルの後/前に挿入 |
| "aP |
カーソルの前に、バッファaのテキストを挿入 |
| その他のコマンド |
| . |
最後の編集コマンドの繰り返し |
| u,U |
最後の編集の取消し(アンドゥ)/カレント行の復元 |
| J |
2行の連結 |
| CTRL-L,CTRL-R |
画面の書き出し |
| exコマンドを使った場合 |
| :d |
行の削除 |
| :m |
行の移動 |
| :coまたは:t |
行のコピー |
| :.,$d |
カレント行からファイルの最終行までの削除 |
| :30,60m. |
カレント行のあとに30~60行目を移動 |
| :.,/pattern/co$ |
カレント行からパターンを含んだ行までをファイルの末尾にコピー |
| コマンドラインオプション |
| vi file |
viをファイルに対して起動 |
| vi file1 file2 |
viを指定のファイルに対して順番に起動 |
| view file |
viをファイルに対して読み出し専用モードで起動 |
| vi -R file |
viをファイルに対して読み出し専用モードで起動 |
| vi -r file |
システムクラッシュ後、fileと最近の編集内容を復元 |
| vi + file |
起動時にfileの最終行からオープン |
| vi +n file |
起動時にfileのn行目からオープン |
| vi +/pattern file |
起動時にfileのパターン位置からオープン |
| ex file |
コマンドラインからexをfileに対して起動 |
| その他のexコマンド |
| : |
viからexを起動 |
| :sh |
シェルの起動 |
| ^D |
シェルからエディタに復帰 |
| :!command |
commandというUNIXコマンドを実行 |
| :r newfile |
現在のファイルにnewfileの内容を読み込む |
| :r !command |
commandの出力を現在のファイルに読み込む |
| 略記 |
| :map x sequence |
xというキー入力を、sequenceというコマンドシーケンスとして定義 |
| :unmap x |
xのマッピング取消し |
| :map! x sequence |
xを、入力モードで呼び出される、sequenceというコマンドシーケンスとして定義 |
| :unmap! x |
xの入力モードマッピングの取消し |
| :ad addr phrase |
phraseをaddrに略記する定義。addrを入力モードでタイプすると、指定の語句に展開される |
| :unab addr |
略記の取消し |
| オプション設定 |
| :set option |
optionの有効化 |
| :set option=value |
optionにvalueを代入 |
| :set no option |
optionの無効化 |
| :set |
ユーザーが値をセットしたオプションの表示 |
| :set all |
すべてのオプションの現在の設定値を一覧表示 |
| :set option? |
optionの値の表示 |
| 終了コマンド |
| |
| ZZ |
ファイルを書き込んで終了 |
| :x |
ファイルを書き込んで終了 |
| :wq |
ファイルを書き込んで終了 |
| :w |
ファイルの書き込み |
| :w! |
(強制的な)ファイルの書き込み |
| :30,60w newfile |
30~60行目をnewfileとして書き込む |
| :30,60w>>file |
30~60行目をfileに追加して書き込む |
| :w %.new |
fileという名前のカレントバッファをfile.newとして書き込む |
| :q |
ファイルの編集を終了 |
| :q! |
ファイルの編集を終了(全ての変更を無効にする) |
| Q |
viを終了してexを起動 |
| :e file2 |
viを終了せずにfile2を編集 |
| :n |
次のファイルを編集 |
| :e! |
現在のファイルを、最後に書き込んだ時点の内容に戻す |
| :e# |
もう一方のファイルの編集 |