日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
EDITLINE(7) FreeBSD 多方面の情報マニュアル EDITLINE(7) 名称 editline -- 行編集ユーザインタフェース 解説 editline(3) ライブラリを使用しているプログラムが、関数 el_wgets(3) を使用 して入力文字列のためのプロンプトを出すとき、それは、端末から文字を読み込 みます。文字を書式化しない無効の入力バイトは、静かに捨てられます。読み込 まれた文字ごとに、1 つのエディタコマンドが実行されます。エディタコマンド への入力文字のマッピングは、編集モードに依存します。3 つの編集モードがあ ります: vi 挿入モード、vi コマンドモードと emacs モード。デフォルトは、vi 挿入モードです。プログラムは、el_set(3) または el_parse(3) 関数を使用する ことによって emacs モードにデフォルトを切り換えることができ、ユーザは、 bind -e 組み込みコマンドを実行しているすべての 3 の場合に、editrc(5) 設定 ファイルまたは ed-command エディタコマンドで対話的に emacs モードに切り換 えることができます。 端末から読み込みを試みることが、ファイルの終りまたはエラーの結果になるな ら、ライブラリはプログラムにファイルの終わりをシグナルを置くって、文字列 を返しません。 入力文字のバインディング 個別のプログラムによって、以下に説明されたすべてのデフォルトのバインディ ングを上書きすることができ、editrc(5) bind 組み込みコマンドで変更すること ができます。 次のテーブルで、`Ctrl-' は、反転されたビット 0x40 がある文字を示し、 `Meta-' は、設定されたビット 0x80 がある文字を示す。vi 挿入モードと emacs モードで、現在の locale(1) によって印刷可能と見なされるすべてのメタキャラ クタは、以下にリストされたエディタコマンドの代わりに ed-insert にバインド されています。その結果として、UTF-8 モードで、メタ文字のほとんどは、それ らのコードポイントが印刷可能な Unicode 文字によって占められるので、直接ア クセス可能ではありません、メタ文字は、通常、em-meta-next エディタコマンド を使用して入力されます。例えば、emacs モードの ed-prev-word エディタコマ ンドを呼び出す `Meta-B' を入力するために、エスケープキーを押して解放する (または、同等の、Ctrl-[) ことによって em-meta-next を呼び出し、次に `B' キーを押して解放します。利用者が、例えば、`setxkbmap -option altwin:left_meta_win' で利用者のキーボードでメタキーを設定したなら、Ctrl Meta-characters は、直接アクセス可能です。例えば、emacs モードで ed- delete-prev-word エディタコマンドを呼び出すために `Ctrl-Meta-H' を入力す るために、キー `Ctrl', `Meta' と `H' を同時に押しさげます。代わりに、エス ケープキーを押して解放し、次に `Ctrl-H' を押して解放します。 vi 入力モードで、入力文字は、デフォルトで次のエディタコマンドにバインドさ れます: Ctrl-D, EOF vi-list-or-eof Ctrl-H, BS vi-delete-prev-char Ctrl-J, LF ed-newline Ctrl-M, CR ed-newline Ctrl-Q ed-tty-start-output Ctrl-S ed-tty-stop-output Ctrl-U vi-kill-line-prev Ctrl-V ed-quoted-insert Ctrl-W ed-delete-prev-word Ctrl-[, ESC vi-command-mode Ctrl-\, QUIT ed-tty-sigquit Ctrl-?, DEL vi-delete-prev-char NUL 文字 (Ctrl-@) を除いて、すべての他の入力文字は、ed-insert にバインド されます。 vi コマンドモードで、入力文字は、デフォルトで次のエディタコマンドにバイン ドされます: Ctrl-A ed-move-to-beg Ctrl-C, INT ed-tty-sigint Ctrl-E ed-move-to-end Ctrl-H, BS ed-delete-prev-char Ctrl-J, LF ed-newline Ctrl-K ed-kill-line Ctrl-L, FF ed-clear-screen Ctrl-M, CR ed-newline Ctrl-N ed-next-history Ctrl-O ed-tty-flush-output Ctrl-P ed-prev-history Ctrl-Q ed-tty-start-output Ctrl-R ed-redisplay Ctrl-S ed-tty-stop-output Ctrl-U vi-kill-line-prev Ctrl-W ed-delete-prev-word Ctrl-[, ESC em-meta-next Ctrl-\, QUIT ed-tty-sigquit Space ed-next-char # vi-comment-out $ ed-move-to-end % vi-match + ed-next-history , vi-repeat-prev-char - ed-prev-history . vi-redo / vi-search-prev 0 vi-zero 1 to 9 ed-argument-digit : ed-command ; vi-repeat-next-char ? vi-search-next @ vi-alias A vi-add-at-eol B vi-prev-big-word C vi-change-to-eol D ed-kill-line E vi-end-big-word F vi-prev-char G vi-to-history-line I vi-insert-at-bol J ed-search-next-history K ed-search-prev-history N vi-repeat-search-prev O ed-sequence-lead-in P vi-paste-prev R vi-replace-mode S vi-substitute-line T vi-to-prev-char U vi-undo-line W vi-next-big-word X ed-delete-prev-char Y vi-yank-end [ ed-sequence-lead-in ^ ed-move-to-beg _ vi-history-word a vi-add b vi-prev-word c vi-change-meta d vi-delete-meta e vi-end-word f vi-next-char h ed-prev-char i vi-insert j ed-next-history k ed-prev-history l ed-next-char n vi-repeat-search-next p vi-paste-next r vi-replace-char s vi-substitute-char t vi-to-next-char u vi-undo v vi-histedit w vi-next-word x ed-delete-next-char y vi-yank | vi-to-column ~ vi-change-case Ctrl-?, DEL ed-delete-prev-char Meta-O ed-sequence-lead-in Meta-[ ed-sequence-lead-in emacs モードで、入力文字は、デフォルトで次のエディタコマンドにバインドさ れます: 0 to 9 ed-digit Ctrl-@, NUL em-set-mark Ctrl-A ed-move-to-beg Ctrl-B ed-prev-char Ctrl-C, INT ed-tty-sigint Ctrl-D, EOF em-delete-or-list Ctrl-E ed-move-to-end Ctrl-F ed-next-char Ctrl-H, BS em-delete-prev-char Ctrl-J, LF ed-newline Ctrl-K ed-kill-line Ctrl-L, FF ed-clear-screen Ctrl-M, CR ed-newline Ctrl-N ed-next-history Ctrl-O ed-tty-flush-output Ctrl-P ed-prev-history Ctrl-Q ed-tty-start-output Ctrl-R ed-redisplay Ctrl-S ed-tty-stop-output Ctrl-T ed-transpose-chars Ctrl-U ed-kill-line Ctrl-V ed-quoted-insert Ctrl-W em-kill-region Ctrl-X ed-sequence-lead-in Ctrl-Y em-yank Ctrl-Z, TSTP ed-tty-sigtstp Ctrl-[, ESC em-meta-next Ctrl-\, QUIT ed-tty-sigquit Ctrl-] ed-tty-dsusp Ctrl-?, DEL em-delete-prev-char Ctrl-Meta-H ed-delete-prev-word Ctrl-Meta-L ed-clear-screen Ctrl-Meta-_ em-copy-prev-word Meta-0 to 9 ed-argument-digit Meta-B ed-prev-word Meta-C em-capitol-case Meta-D em-delete-next-word Meta-F em-next-word Meta-L em-lower-case Meta-N ed-search-next-history Meta-O ed-sequence-lead-in Meta-P ed-search-prev-history Meta-U em-upper-case Meta-W em-copy-region Meta-X ed-command Meta-[ ed-sequence-lead-in Meta-b ed-prev-word Meta-c em-capitol-case Meta-d em-delete-next-word Meta-f em-next-word Meta-l em-lower-case Meta-n ed-search-next-history Meta-p ed-search-prev-history Meta-u em-upper-case Meta-w em-copy-region Meta-x ed-command Ctrl-Meta-? ed-delete-prev-word 0x20 から 0x7e までの範囲の残りの ascii(7) 文字は、ed-insert にバインドさ れます。 標準出力が端末デバイスに接続されないか、または el_set(3) が EL_EDITMODE を 0 に設定するために使用されたなら、すべての入力文字のバインディングは、 無効にされ、タイプされたすべての文字は、編集バッファに付け加えられます。 その場合に、編集バッファは、改行またはキャリッジリターン文字がタイプされ た後に、または、el_set(3) が EL_UNBUFFERED に 0 以外を設定するために使用 されたなら、最初の文字がタイプされた後に、プログラムに返されます。 エディタコマンド ほとんどのエディタコマンドは、オプションの引数を受け付けます。引数は、エ ディタコマンド ed-argument-digit, ed-digit, em-universal-argument または vi-zero の 1 つ以上でエディタコマンドに前置することによって入力されます。 引数が提供されないとき、それは、デフォルトを 1 にします。ほとんどのエディ タコマンドについて、引数の効果は、何度もコマンドを繰り返し実行することで す。 左の文字から右の文字に文字列を話題にするとき、左の文字は、文字列に含めら れますが、一方右の文字が、含まれません。 エディタコマンドがエラーを起こすなら、入力文字は、破棄され、アクション は、起こらず、端末ベルが、鳴らされます。致命的でないエラーの場合に、端末 ベルは、また鳴らされますが。エディタコマンドは、とにかく効力を生じます。 次のリストで、デフォルトのキーバインディングは、各エディタコマンドの後に リストされます。 ed-argument-digit (vi command: 1 to 9; emacs: Meta-0 to Meta-9) 引数の入力モードの場合に、入力した数字を、読み込まれている引数に付 け加えます。そうでなければ、引数の入力モードに切り換えて、引数の最 上位の数字として入力数字を使用します。入力文字が数字ではないか、ま たは、既存の引数がすでに 100 万より大きいなら、それは、エラーです。 ed-clear-screen (vi command: Ctrl-L; emacs: Ctrl-L, Ctrl-Meta-L) 画面をクリアし、先頭でで編集バッファを表示します。あらゆる引数を無 視します。 ed-command (vi command: `:'; emacs: Meta-X, Meta-x) 通常の行編集機能を迂回している端末から行を読み込み、editrc(5) 組み 込みコマンドとしてその行を実行します。また、vi コマンドモードの場合 に、vi 挿入モードに切り換えます。あらゆる引数を無視します。 ed-delete-next-char (vi command: x) カーソル位置の文字を削除します。引数を付けて、その数の文字を削除し ます。emacs モードで、カーソルが編集バッファの終わりであるなら、そ れは、エラーです。vi モードで、編集バッファの最後の文字は、その場合 に削除され、バッファが空であるなら、それは、エラーです。 ed-delete-prev-char (vi command: X, Ctrl-H, BS, Ctrl-?, DEL) カーソル位置の左の文字を削除します。引数を付けて、その数の文字を削 除します。カーソルが編集バッファの最初であるなら、それは、エラーで す。 ed-delete-prev-word (vi: Ctrl-W; emacs: Ctrl-Meta-H, Ctrl-Meta-?) 左に一番近い最初の単語に移動し、その位置からカーソルまでの文字列を 削除し、それをカット (cut) バッファに保存します。引数を付けて、その 数の単語を削除します。カーソルが編集バッファの最初であるなら、それ は、エラーです。 ed-digit (emacs: 0 to 9) 引数の入力モードの場合に、入力の数字を、読み込まれている引数に付け 加えます。そうでなければ、ed-insert を呼び出します。入力文字が数字 ではないか、または、既存の引数がすでに 100 万より大きいなら、それ は、エラーです。 ed-end-of-file (not bound by default) 編集バッファを破棄してプログラムにファイルの終わりを示します。あら ゆる引数を無視します。 ed-ignore (various) 入力文字を破棄して、何もしません。 ed-insert (vi input: almost all; emacs: printable characters) 挿入モードで、カーソル位置の入力文字の左に挿入します。置き換えモー ドで、カーソルの文字を上書きし、1 つの文字位置の右にカーソルを移動 します。繰り返しこれを行なうために引数を受け付けます。入力文字が NUL 文字 (Ctrl-@) であるなら、それは、エラーです。編集バッファを拡 大することに失敗し、また、エラーの結果となります。 ed-kill-line (vi command: D, Ctrl-K; emacs: Ctrl-K, Ctrl-U) カーソル位置から行の終わりまで文字列を削除し、それをカット (cut) バッファに保存します。あらゆる引数を無視します。 ed-move-to-beg (vi command: ^, Ctrl-A; emacs: Ctrl-A) vi モードで、カーソルを編集バッファの最初の空白でない文字に移動しま す。emacs モードで、カーソルを編集バッファの最初に移動します。あら ゆる引数を無視します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されます。 ed-move-to-end (vi command: $, Ctrl-E; emacs: Ctrl-E) カーソルを編集バッファの終わりに移動します。あらゆる引数を無視しま す。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマ ンドとして使用されます。 ed-newline (all modes: Ctrl-J, LF, Ctrl-M, CR) 改行文字を編集バッファに付け加え、プログラムに編集バッファを返しま す。あらゆる引数を無視します。 ed-next-char (vi command: Space, l; emacs: Ctrl-F) カーソルを右に 1 文字の位置に移動します。引数を付けて、文字の数に よって移動します。vi_change_meta, vi_delete_meta または vi_yank の 後に、移動コマンドとして使用されます。カーソルがすでに編集バッファ の終わりにあるなら、それは、エラーです。 ed-next-history (vi command: j, +, Ctrl-N; emacs: Ctrl-N) 編集バッファを次のヒストリ行で置き換えます。その行は、現在の行より 古くなっています。引数を付けて、ヒストリ行の数だけ前に行きます。利 用可能であるより多い行前進する致命的でないエラーです。 ed-next-line (not bound by default) 1 つの行下にカーソルを移動します。引数を付けて、その行数下に移動し ます。編集バッファが十分な改行文字をカーソル位置の右に含んでいない なら、それは、エラーです。 ed-prev-char (vi command: h; emacs: Ctrl-B) カーソルの 1 文字位置を左に移動します。引数を付けて、文字の数だけ移 動します。vi_change_meta, vi_delete_meta または vi_yank の後に、動 作コマンドとして使用されます。カーソルがすでに編集バッファの最初に あるなら、それは、エラーです。 ed-prev-history (vi command: k, -, Ctrl-P; emacs: Ctrl-P) 編集バッファを前のヒストリ行と置き換えます。その行は、現在の行より 新しくなっています。引数をつけて、その行の数だけ戻ります。利用可能 であるより多い行をバックさせることは、致命的でないなエラーです。 ed-prev-line (not bound by default) 1 つの行カーソルを上に移動します。引数を付けて、その行の数だけ上に 移動します。編集バッファが十分な改行文字をカーソル位置の左に含んで いないなら、それは、エラーです。 ed-prev-word (emacs: Meta-B, Meta-b) カーソルを左に最も近い単語の最初に移動します。引数を付けて、その回 数だけ繰り返します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されます。カーソルがすでに編集バッ ファの最初にあるなら、それは、エラーです。 ed-quoted-insert (vi insert, emacs: Ctrl-V) 通常の行編集機能を迂回する端末から 1 文字を読み込み、それで ed- insert を呼び出します。文字を読み込むことの試みが、ファイルの終りま たはエラーを返すなら、代わりに、ed-end-of-file を呼び出します。 ed-redisplay (vi command, emacs: Ctrl-R) すべてを再表示します。あらゆる引数を無視します。 ed-search-next-history (vi command: J; emacs: Meta-N, Meta-n) 次の一致しているヒストリエントリで編集バッファを置き換えます。 ed-search-prev-history (vi command: K; emacs: Meta-P, Meta-p) 前の一致しているヒストリエントリで編集バッファを置き換えます。 ed-sequence-lead-in (vi cmd: O, [; emacs: Ctrl-X; both: Meta-O, Meta-[) マクロを呼び出します。詳細については、以下の「マクロ」に関するセク ションを参照してください。 ed-start-over (not bound by default) 編集バッファの内容を破棄して、最初から開始します。あらゆる引数を無 視します。 ed-transpose-chars (emacs: Ctrl-T) それの左のものとカーソル位置の文字を交換して、2 つの交換された文字 の右の文字にカーソルを移動します。あらゆる引数を無視します。カーソ ルが編集バッファの最初にあるか、または、編集バッファが 2 文字未満を 含んでいるなら、それは、エラーです。 ed-unassigned (all characters not listed) このエディタコマンドは、常にエラーの結果となります。 em-capitol-case (emacs: Meta-C, Meta-c) カーソルから現在の単語の終わりまでの文字列を大文字にします。すなわ ち、それが少なくとも 1 つのアルファベットの文字を含んでいるなら、最 初のアルファベットの文字を大文字に変換し、すべての文字を正しい小文 字に変換します。ともかく、現在の単語の終わりの後の次の文字にカーソ ルを移動します。 em-copy-prev-word (emacs: Ctrl-Meta-_) 現在の単語の最初からカーソルまでの文字列をコピーし、それをカーソル の左に挿入します。カーソルを挿入された文字列の後の文字に移動しま す。カーソルが編集バッファの最初であるなら、それは、エラーです。 em-copy-region (emacs: Meta-W, Meta-w) カーソルからカット (cut) されたバッファへのマークまで文字列をコピー します。マークが設定されていないなら、それは、エラーです。 em-delete-next-word (emacs: Meta-D, Meta-d) カーソルから現在の単語の終わりまでの文字列を削除し、それをカット (cut) バッファに保存します。カーソルが編集バッファの終わりであるな ら、それは、エラーです。 em-delete-or-list (emacs: Ctrl-D, EOF) カーソルが行の終わりでないなら、カーソルがある文字を削除します。編 集バッファが空であるなら、プログラムにファイルの終わりを示します。 カーソルが編集バッファの終わりであり、編集バッファが空ではないな ら、それは、エラーです。 em-delete-prev-char (emacs: Ctrl-H, BS, Ctrl-?, DEL) カーソルの左の文字を削除します。カーソルが編集バッファの最初である なら、それは、エラーです。 em-exchange-mark (not bound by default) カーソルとマークを交換します。 em-gosmacs-transpose (not bound by default) カーソルの左の 2 文字を交換します。カーソルが編集バッファの 1 番目 または 2 番目の文字であるなら、それは、エラーです。 em-inc-search-next (not bound by default) Emacs のインクリメンタル (増分) の次の検索。 em-inc-search-prev (not bound by default) Emacs のインクリメンタル (増分) の逆の検索。 em-kill-line (not bound by default) 編集バッファの全体の内容を削除し、それをカット (cut) バッファに保存 します。 em-kill-region (emacs: Ctrl-W) カーソルからマークまでの文字列を削除し、それをカット (cut) バッファ に保存します。マークが設定されていないなら、それは、エラーです。 em-lower-case (emacs: Meta-L, Meta-l) カーソルから現在の単語の終わりまで文字を小文字に変換します。 em-meta-next (vi command, emacs: Ctrl-[, ESC) タイプされた次の文字にビット 0x80 を設定します。結果のコードポイン トが印刷可能でないなら、その文字をタイプする間に `Meta-' キーを押し 下げることは、同じ効果を達成する簡単な方法です。 em-next-word (Meta-F, Meta-f) カーソルから現在の単語の終わりに移動します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。カーソルがすでに編集バッファの終わりであるなら、それは、エラー です。 em-set-mark (emacs: Ctrl-Q, NUL) 現在のカーソル位置でマークを設定します。 em-toggle-overwrite (not bound by default) 挿入モードから上書きモードに切り換えます、逆もまた同様です。 em-universal-argument (not bound by default) 引数の入力モードの場合に、引数に 4 を掛けます。そうでなければ、引数 の入力モードに切り替え、引数を 4 に設定します。既存の引数がすでに 100 万より大きいなら、それは、エラーです。 em-upper-case (emacs: Meta-U, Meta-u) カーソルから現在の単語の終わりまで文字を大文字に変換します。 em-yank (emacs: Ctrl-Y) カーソルの左にカット (cut) バッファを貼り付けます。 vi-add (vi command: a) vi 挿入モードに切り換えます。カーソルがすでに編集バッファの終わりで ないなら、その 1 つの文字位置を右に移動します。 vi-add-at-eol (vi command: A) vi 挿入モードに切り換えて、カーソルを編集バッファの終わりに移動しま す。 vi-alias (vi command: @) エイリアス機能が、引数 EL_ALIAS_TEXT, をつけて el_set(3) または el_wset(3) 関数を呼び出すことによって定義されていたなら、通常の行編 集機能を迂回している端末から 1 文字を読み込み、2 番目の引数として、 下線を前に付けて、読み込まれた最初の引数と文字として EL_ALIAS_TEXT を付けて指定された引数を渡しているエイリアス関数を呼び出し、 el_wpush(3) へのエイリアス関数から返された文字列を渡します。エイリ アス関数が定義されないか、またはファイルの終わりの文字結果を読み込 むことを試みるか、またはエラーであるなら、それは、エラーです。 vi-change-case (vi command: ~) カーソルで文字の大文字小文字を変更し、カーソルの 1 つの文字位置を右 に移動します。カーソルがすでに編集バッファの終わりであるなら、それ は、エラーです。 vi-change-meta (vi command: c) カーソルから次の移動コマンドによって指定された位置まで文字列を削除 し、そのコピーをカット (cut) バッファに保存します。1 つの列に 2 度 与えられるとき、代わりに、編集バッファの全体の内容を削除し、そのコ ピーをカット (cut) バッファに保存します。どちらの場合でも、その後に vi 挿入モードに切り換えます。 vi-change-to-eol (vi command: C) カーソル位置から行の終わりまで文字列を削除し、それを(cut) バッファ バッファに保存し、次に、vi 挿入モードに切り換えます。 vi-command-mode (vi insert: Ctrl-[, ESC) 保留中のアクションと引数を破棄し、vi コマンドモードに切り替えます。 カーソルがすでに編集バッファの最初にないなら、1 つの文字位置を左に 移動します。 vi-comment-out (vi command: #) 編集バッファの最初に `#' 文字を挿入し、編集バッファをプログラムに返 します。 vi-delete-meta (vi command: d) カーソルから続く移動コマンドによって指定された位置まで文字列を削除 し、そのコピーをカット (cut) バッファに保存します。1 つの列に 2 度 与えられるとき、代わりに、編集バッファの全体の内容を削除し、そのコ ピーをカット (cut) バッファに保存します。 vi-delete-prev-char (vi insert: Ctrl-H, BS, Ctrl-?, DEL) カーソルの左の文字を削除します。カーソルがすでに編集バッファの最初 であるなら、それは、エラーです。 vi-end-big-word (vi command: E) カーソルを現在の空白で区切られた単語の終わりに移動します。 vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンド として使用されます。カーソルがすでに編集バッファの終わりであるな ら、それは、エラーです。 vi-end-word (vi command: e) カーソルを現在の単語の終わりに移動します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。カーソルがすでに編集バッファの終わりであるなら、それは、エラー です。 vi-history-word (vi command: _) カーソルの後の最も最近のヒストリエノリから最初の単語を挿入し、挿入 された単語の後の文字の後にカーソルを移動し、vi 挿入モードに切り替え ます。ヒストリエントリがないか、または最も最近のヒストリが空である なら、それは、エラーです。 vi-insert (vi command: i) 挿入モードに入ります。 vi-insert-at-bol (vi command: I) 編集バッファの最初にカーソルを移動して、vi 挿入モードに切り換えま す。 vi-kill-line-prev (vi: Ctrl-U) 編集バッファの最初からカーソルまでの文字列を削除し、それをカット (cut) バッファに保存します。 vi-list-or-eof (vi insert: Ctrl-D, EOF) 編集バッファが空であるなら、プログラムにファイルの終わりを示しま す。編集バッファが空ではないなら、それは、エラーです。 vi-match (vi command: %) デリミタとして括弧、大括弧と角括弧をオープンしてクローズすることを 考慮します。カーソルがデリミタでないなら、それがそれに到着するま で、右に移動して、次に、それを一致しているデリミタに移動します。 vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンド として使用されます。カーソルまたはカーソルの右の文字列にデリミタが ないなら、または、最初のそのようなデリミタに一致しているデリミタが なりなら、それは、エラーです。 vi-next-big-word (vi command: W) 次の空白の区切られた単語の最初の右にカーソルを移動します。 vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンド として使用されます。カーソルがすでに編集バッファの終り、またはその 最後の文字にあるなら、それは、エラーです。 vi-next-char (vi command: f) 通常の行編集機能を迂回している端末から 1 文字を読み込み、カーソルを 編集バッファのその文字の次のインスタンスの右に移動します。 vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンド として使用されます。ファイルの終りまたはエラーの文字の結果を読み込 もうと試みるなら、代わりに、ed-end-of-file を呼び出します。文字が編 集バッファの右に検索していることを見つからないなら、それは、エラー です。 vi-next-word (vi command: w) 次の単語の最初の右にカーソルを移動します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。カーソルがすでに編集バッファの終り、またはその最後の文字である なら、それは、エラーです。 vi-paste-next (vi command: p) カット (cut) バッファのコピーをカーソルの右に挿入します。カット (cut) バッファが空なら、それは、エラーです。 vi-paste-prev (vi command: P) カット (cut) バッファのコピーをカーソルの左に挿入します。カット (cut) バッファが空であるなら、それは、エラーです。 vi-prev-big-word (vi command: B) カーソルの左を空白で区切られた単語の次の最初に移動します。 vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンド として使用されます。カーソルがすでに編集バッファの最初であるなら、 それは、エラーです。 vi-prev-char (vi command: F) 通常の行編集機能を迂回している端末から 1 文字を読み込み、カーソルを 編集バッファのその文字の次のインスタンスの左に移動します。 vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンド として使用されます。ファイルの終りまたはエラーの文字結果を読み込む ことを試みるなら、代わりに、ed-end-of-file を呼び出します。文字が編 集バッファを左に検索しているのが見つけられないなら、それは、エラー です。 vi-prev-word (vi command: b) カーソルを単語の次の最初の左に移動します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。カーソルがすでに編集バッファの最初であるなら、それは、エラーで す。 vi-redo (vi command: `.') 最後の動作でないコマンドをやり直します。 vi-repeat-next-char (vi command: `;') 同じ検索方向で最も最近の文字の検索を繰り返します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。 vi-repeat-prev-char (vi command: `,') 逆の検索方向で最も最近の文字検索を繰り返します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。 vi-repeat-search-next (vi command: n) 同じ検索方向で最も最近のヒストリ検索を繰り返します。 vi-repeat-search-prev (vi command: N) 逆の検索方向で最も最近のヒストリ検索を繰り返します。 vi-replace-char (vi command: r) vi 置き換えモードに切り換え、タイプされた次の文字の後で、vi コマン ドモードに自動的に切り換えます。置き換えモードの説明については、ed- insert を参照してください。カーソルが編集バッファの終わりであるな ら、それは、エラーです。 vi-replace-mode (vi command: R) vi 置き換えモードに切り換えます。これは、vi 挿入モードの変異型で す。違いについては、ed-insert を参照してください。 vi-search-next (vi command: ?) 編集バッファを次の一致しているヒストリエントリと置き換えます。 vi-search-prev (vi command: /) 編集バッファを前に一致しているヒストリエントリと置き換えます。 vi-substitute-char (vi command: s) カーソルの文字を削除し、vi 挿入モードに切り換えます。 vi-substitute-line (vi command: S) 編集バッファ全体の内容を削除し、それのコピーをカット (cut) バッファ に保存し、vi 挿入モードに入ります。 vi-to-column (vi command: |) 引数として指定されたカラムにカーソルを移動します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。 vi-to-history-line (vi command: G) 編集バッファを、指定されたヒストリヘントリと置き換えます。 vi-to-next-char (vi command: t) 通常の行編集機能を迂回している端末から 1 文字を読み込み、編集バッ ファのその文字の次のインスタンスの前の文字の右にカーソルを移動しま す。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマ ンドとして使用されます。ファイルの終りまたはエラーの結果の文字を読 み込もうと試みるなら、代わりに、ed-end-of-file を呼び出します。文字 が編集バッファの右に検索しているのが見つけられないなら、それは、エ ラーです。 vi-to-prev-char (vi command: T) 通常の行編集機能を迂回している端末から 1 文字を読み込み、編集バッ ファのその文字の次のインスタンスの後の文字の左にカーソルを移動しま す。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマ ンドとして使用されます。ファイルの終りまたはエラー結果の文字を読み 込むことを試みるなら、代わりに、ed-end-of-file を呼び出します。文字 が編集バッファの左に検索しているのが見つけられないなら、それは、エ ラーです。 vi-undo (vi command: u) 最後の変更を取り消します。 vi-undo-line (vi command: U) 編集バッファのすべての変更を取り消します。 vi-yank (vi command: y) カーソルから、カット (cut) バッファに続く移動コマンドによって指定さ れた位置まで文字列をコピーします。一行に 2 度与えられるとき、代わり に、編集バッファの全体の内容をカット (cut) バッファにコピーします。 vi-yank-end (vi command: Y) カーソルから編集バッファの終わりまでカット (cut) バッファに文字列を コピーします。 vi-zero (vi command: 0) 引数入力モードの場合に、引数に 10 を掛けます。そうでなければ、カー ソルを編集バッファの最初に移動します。vi_change_meta, vi_delete_meta または vi_yank の後に、移動コマンドとして使用されま す。 マクロ 入力文字がエディタコマンド ed-sequence-lead-in にバインドされているなら、 editline は、マクロを呼び出すことを試みます。入力文字がマクロの名前をそれ 自体の形式によるなら、そのマクロが実行されます。そうでなければ、追加の入 力文字は、文字列がマクロの名前の形式を読み込むまで、読み込まれ、その場合 に、マクロが実行されるか、または、文字列が既存のマクロのどれも最初に一致 するまで、最後に含まれている文字列の場合に、一致しない文字列は、破棄さ れ、端末ベルが鳴らされます。 2 種類のマクロがあります。コマンドマクロは、単一のエディタコマンドを実行 します。キーボードマクロは、「入力キュー」に新しい行として付け加えられる 文字列を返します。 次のコマンドマクロは、vi コマンドモードと emacs モードのデフォルトによっ て定義されます: Esc [ A, Esc O A ed-prev-history Esc [ B, Esc O B ed-next-history Esc [ C, Esc O C ed-next-char Esc [ D, Esc O D ed-prev-char Esc [ F, Esc O F ed-move-to-end Esc [ H, Esc O H ed-move-to-beg vi コマンドモードで、それらは、また初期のエスケープ文字なしでデフォルトに よって定義されます。 さらに、editline ライブラリは、それがユーザ設定を上書きしないなら、これら のエディタコマンドに terminfo(5) データベースによって報告されるように、矢 印キーによって生成された文字列をバインドすることを試みます。 emacs モードで、2 つの文字の文字列 ``Ctrl-X Ctrl-X'' は、em-exchange-mark エディタコマンドのためにバインドされます。 入力キュー editline ライブラリは、FIFO モードで操作された入力キューを保守します。入 力文字が必要とするときはいつでも、それは、入力キューの最初の行から最初の 文字を取ります。キューが空であるとき、それは、端末から読み込みます。 行は、いくつかの方法で入力キューの終わりに追加することができます。 - キーボード「マクロ」の 1 つを呼び出すことによって。 - エディタコマンド vi-redo を呼び出すことによって。 - エディタコマンド vi-alias を呼び出すことによって。 - そのモードに特別な意味がなありませんが、通常の emacs モードに返 る、emacs インクリメンタル (増分) 検索モードでキーを押すことに よって。 - アプリケーションプログラムが関数 el_push(3) または el_wpush(3) を直接呼び出すなら、それは、入力キューに付け加えられるプログラ ム特有の方法の追加を提供することができます。 関連項目 mg(1), vi(1), editline(3), el_wgets(3), el_wpush(3), el_wset(3), editrc(5) 歴史 このマニュアルページは、OpenBSD 6.0 と NetBSD 8.0 ではじめて登場しまし た。 作者 このマニュアルページは、Ingo Schwarze <schwarze@openbsd.org> によって書か れました。 FreeBSD 13.2 May 7, 2016 FreeBSD 13.2