From 270228b70051b0b68e150535b2cb8ed4dcf5816c Mon Sep 17 00:00:00 2001 From: h-east Date: Thu, 5 Sep 2024 04:16:45 +0900 Subject: [PATCH 1/7] Uniform sentence style --- doc/terminal.jax | 831 +++++++++++++++++++++++------------------------ 1 file changed, 408 insertions(+), 423 deletions(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index 58c87a444..364e11762 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -8,9 +8,9 @@ 端末機能はオプションなので、あなたのVimが対応しているかは次のコマンドを使って -確認できます: > +確認できる: > echo has('terminal') -結果が "1" ならば対応しています。 +結果が "1" の場合、対応している。 1. 基本的な使い方 |terminal-use| @@ -48,34 +48,34 @@ カスタマイズ |termdebug-customizing| {Vimが |+terminal| 機能付きでコンパイルされたときのみ有効} -端末機能を使うには |+job| と |+channel| 機能が必要です。 +端末機能を使うには |+job| と |+channel| 機能が必要である。 ============================================================================== 1. 基本的な使い方 *terminal-use* -これは Vim のウィンドウ内で端末エミュレーターを実行する機能です。端末エミュレー -ターに接続すると1つのジョブが開始されます。例としてシェルを実行するならば以下 -のようになります: > +これは Vim のウィンドウ内で端末エミュレーターを実行する機能である。端末エミュ +レーターに接続すると1つのジョブが開始される。例としてシェルを実行する場合は以 +下のようになる: > :term bash -またビルドコマンドを実行するにはこうなります: > +またビルドコマンドを実行するにはこうなる: > :term make myprogram ジョブはVimとは非同期的に動作し、他のウィンドウで編集中であってもジョブからの -出力は随時端末ウィンドウに反映されます。 +出力は随時端末ウィンドウに反映される。 キー入力 ~ *terminal-typing* 端末ウィンドウにキーボードのフォーカスがある時には、入力したキーはジョブに送ら -れます。これには可能ならば pty を使用します。端末ウィンドウ外をクリックすれば、 -キーボードフォーカスを外に動かせます。 +れる。これには可能ならば pty を使用する。端末ウィンドウ外をクリックすれば、 +キーボードフォーカスを外に動かせる。 *t_CTRL-W_CTRL-W* *t_CTRL-W_:* -ウィンドウや他の CTRL-W コマンドを操作するために CTRL-W を使えます。例えば: +ウィンドウや他の CTRL-W コマンドを操作するために CTRL-W を使える。例えば: CTRL-W CTRL-W 次のウィンドウにフォーカスを移動する CTRL-W : Exコマンドに入る -他のコマンドについては |CTRL-W| を参照してください。 +他のコマンドについては |CTRL-W| を参照。 端末ウィンドウでの特別な操作: *t_CTRL-W_.* *t_CTRL-W_N* @@ -89,8 +89,8 @@ CTRL-W gt 次のタブページに移動する。`gt` と同じ *t_CTRL-W_gt* CTRL-W gT 前のタブページに移動する。`gT` と同じ *t_CTRL-W_gT* -CTRL-W の代わりに別のキーを使うにはオプション 'termwinkey' を参照してください。 -但し 'termwinkey' を2回タイプすると 'termwinkey' がジョブへ送信されます。例: +CTRL-W の代わりに別のキーを使うにはオプション 'termwinkey' を参照。 +但し 'termwinkey' を2回タイプすると 'termwinkey' がジョブへ送信される。例: 'termwinkey' CTRL-W 次のウィンドウにフォーカスを移動する 'termwinkey' : Exコマンドに入る 'termwinkey' 'termwinkey' 端末内のジョブに 'termwinkey' を送信する @@ -101,126 +101,124 @@ CTRL-W の代わりに別のキーを使うにはオプション 'termwinkey' 'termwinkey' CTRL-C CTRL_W CTRL_C と同じ |t_CTRL-W_CTRL-C| *t_CTRL-\_CTRL-N* 他のモードと同じように、ノーマルモードへ移行するための特別なキーの組み合わせで -ある CTRL-\ CTRL-N が利用できます。 +ある CTRL-\ CTRL-N が使用できる。 *t_CTRL-W_CTRL-C* -ジョブを強制停止するのに CTRL-W CTRL-C を使えます。MS-Windowsでは CTRL-Break -でも同様にジョブを停止できます。 +ジョブを強制停止するのに CTRL-W CTRL-C を使える。MS-Windowsでは CTRL-Break +でも同様にジョブを停止できる。 -CTRL-C を入力した場合、その効果は pty がどのように構成されているかに従います。 -シンプルなコマンドにおいては SIGINT がジョブに送られ、結果的にジョブが停止する -でしょう。中には SIGINT を無視するコマンドもあるでしょうし、また (Vim がそうし -ているように) CTRL-C をプログラム自身で取り扱うものもあるでしょう。 +CTRL-C を入力した場合、その効果は pty がどのように構成されているかに従う。シン +プルなコマンドにおいては SIGINT がジョブに送られ、結果的にジョブが停止するだろ +う。中には SIGINT を無視するコマンドもあるだろうし、また (Vim がそうしているよ +うに) CTRL-C をプログラム自身で取り扱うものもあるだろう。 入力したキーを別のものに読み替えさせるには端末モードマッピング、詳細は |:tmap| -を参照してください。これはどのようなマッピングでも定義できますが、端末内で実行 -されているジョブに送信されるキー入力にのみ作用します。例えば、F1 キーで端末ノー -マルモードに切り替えるには: > +を参照。これはどのようなマッピングでも定義できるが、端末内で実行されているジョ +ブに送信されるキー入力にのみ作用する。例えば、F1 キーで端末ノーマルモードに切 +り替えるには: > tnoremap N -Esc を使うことができますが、他のキーが壊れないようにする必要があります (カーソ -ルキーは Esc で始まるので、それらは壊れるかもしれません)、これはおそらくGUIで -しか動作しません: > +Esc を使うことができるが、他のキーが壊れないようにする必要がある (カーソルキー +は Esc で始まるので、それらは壊れるかもしれない)、これはおそらくGUIでしか動作 +しない: > tnoremap N set notimeout ttimeout timeoutlen=100 -端末モードマッピングと同様にメニューを作成することもできますが、|:tmenu| ではな -く |:tlmenu| を使用する必要があります。 +端末モードマッピングと同様にメニューを作成することもできるが、|:tmenu| ではな +く |:tlmenu| を使用する必要がある。 *options-in-terminal* 端末ウィンドウを開いて 'buftype' を "terminal" に設定すると、TerminalWinOpen -自動コマンドイベントが発生します。これにより、端末ウィンドウとバッファ専用のオ -プションを設定することが可能です。例: > +自動コマンドイベントが発生する。これにより、端末ウィンドウとバッファ専用のオ +プションを設定することが可能である。例: > au TerminalWinOpen * setlocal bufhidden=hide -これが適切に動作するのは端末が隠れていない場合に限ります。 +これが適切に動作するのは端末が隠れていない場合に限られる。 端末が隠れている場合と隠れていない場合両方で動作するのは、バッファローカルと -ウィンドウローカルのオプションです: > +ウィンドウローカルのオプションである: > au TerminalWinOpen,BufWinEnter * if &buftype == 'terminal' \ | setlocal bufhidden=hide colorcolumn=123 \ | endif -Note この隠れている端末のオプションは端末が隠れている間は値が設定されません。 +Note この隠れている端末のオプションは端末が隠れている間は値が設定されない。 -|TerminalOpen| イベントもあります。これは隠れた端末で発生するかもしれず、その -場合は現在のウィンドウとバッファはこの新しい端末ではないことに注意してくださ -い。 -端末バッファに設定するなら、 を使う必要があります。例: > +|TerminalOpen| イベントもある。これは隠れた端末で発生するかもしれず、その場合 +は現在のウィンドウとバッファはこの新しい端末ではないことに注意。 +端末バッファに設定する場合、 を使う必要がある。例: > au TerminalOpen * call setbufvar(expand('')->str2nr(), \ '&termwinscroll', 1000) ウィンドウローカルオプションは、端末ウィンドウが生成されるまで設定が遅延する必 -要があります (これは隠れた端末だけで働きます): > +要がある (これは隠れた端末だけで作用する): > au TerminalOpen * exe printf( \ 'au BufWinEnter ++once setlocal colorcolumn=%d', \ expand('')->str2nr(), 123) -隠れていない端末では |TerminalWinOpen| を使います。 +隠れていない端末では |TerminalWinOpen| を使う。 -マウスイベント (クリックやドラッグ) は端末に渡されます。マウス移動イベントは -Vim 自身が受け取ったときにのみ渡されます。'balloonevalterm' が有効になっている -端末の場合です。 +マウスイベント (クリックやドラッグ) は端末に渡される。マウス移動イベントは +Vim 自身が受け取ったときにのみ渡される。'balloonevalterm' が有効になっている +端末の場合。 サイズと色 ~ *terminal-size-color* -端末ウィンドウのサイズを制御するにはオプション 'termwinsize' を参照してくださ -い。 +端末ウィンドウのサイズを制御するにはオプション 'termwinsize' を参照。 (TODO: 端末がウィンドウよりも大きい場合にはスクロールすることを記述する) -端末内のジョブは端末の色を変更できます。デフォルトの前景色及び背景色はVimの -Normal ハイライトグループにより決定されます。 +端末内のジョブは端末の色を変更できる。デフォルトの前景色及び背景色はVimの +Normal ハイライトグループにより決定される。 カラー端末を開始する際に、背景に白と黒どちらの系統の色を使用するかは、オプショ -ン 'background' を用いて決定します。 +ン 'background' を用いて決定する。 -異なる色を使う場合には Terminal ハイライトグループを利用できます。例: > +異なる色を使う場合には Terminal ハイライトグループを利用できる。例: > hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue もしくは Terminal の代わりとして`term_start()` のオプション "term_highlight" -で別グループを設定できます。 +で別グループを設定できる。 *g:terminal_ansi_colors* 新しい端末ウィンドウでデフォルトで使用される 16 個の ANSI カラーは、変数 -`g:terminal_ansi_colors` を使用して設定することができます。これは、16 個の色名 -または 16 進数の色コードのリストでなければなりません。これは、 -|highlight-guifg| で受け入れられるものと同様です。GUI カラーを使用しない場合、 -端末ウィンドウは常に元の端末の 16 個の ANSI カラーを使用します。 -`term_start()` を使う時、"ansi_colors" オプションにより色が設定できます。 +`g:terminal_ansi_colors` を使用して設定することができる。これは、16 個の色名ま +たは 16 進数の色コードのリストでなければなりません。これは、|highlight-guifg| +で受け入れられるものと同様である。GUI カラーを使用しない場合、端末ウィンドウは +常に元の端末の 16 個の ANSI カラーを使用する。 +`term_start()` を使う時、"ansi_colors" オプションにより色が設定できる。 |term_setansicolors()| 関数を使用して色を変更したり、|term_getansicolors()| を -使用して現在使用されている色を取得することができます。 +使用して現在使用されている色を取得することができる。 コマンド文法 ~ :[range]ter[minal] [options] [command] *:ter* *:terminal* - 新しい端末ウィンドウを開きます。 + 新しい端末ウィンドウを開く。 [command] が指定された場合、それをジョブとして実行し、 - 端末の入出力を接続します。 + 端末の入出力を接続する。 [command] が指定されなかった場合、オプション 'shell' - を使用します。 + を使用する。 [command] が NONE の場合ジョブは開始されず、端末の pty - は gdb のようなコマンドによって利用できます。 + は gdb のようなコマンドによって利用できる。 [command] がない場合、デフォルトの動作はシェルが終了し - たときに端末を閉じます。この動作は ++noclose 引数で変 - 更できます。 + たときに端末を閉じる。この動作は ++noclose 引数で変更 + できる。 [command] が指定されている場合、デフォルトの動作は端末 - を端末ノーマルモードで開いたままにします。 - この動作は ++close 引数で変更できます。 + を端末ノーマルモードで開いたままにする。この動作は + ++close 引数で変更できる。 Vimのコマンドを後ろに続けることはできず、どんな | も - [command] に含まれてしまいます。 - 同じ行で Vim コマンドを続けるなら `:execute` を利用し - てください。 + [command] に含まれてしまう。 + 同じ行で Vim コマンドを続けたい場合、`:execute` を使用 + する。 *terminal-bufname* - 新しいバッファが作られ、 [command] もしくは 'shell' に - "!" が前置された名前が与えられます。すでに同じ名前の - バッファが存在する場合には、カッコに囲まれた番号が付与 - されます。例えば "gdb" が存在するなら2つ目の端末には - "!gdb (1)" という名前が使われます。 + 新しいバッファが作られ、[command] もしくは 'shell' に + "!" が前置された名前が与えられる。すでに同じ名前のバッ + ファが存在する場合には、カッコに囲まれた番号が付与され + る。例えば "gdb" が存在するなら2つ目の端末には + "!gdb (1)" という名前が使われる。 [range] が与えられた場合は、指定された範囲の行がジョブ - の入力として使われます。その際の端末ウィンドウではキー - 入力ができなくなります。MS-Windows においては以下の - ++eof オプションも参照してください。 + の入力として使われる。その際の端末ウィンドウではキー + 入力ができなくなる。MS-Windows においては以下の ++eof + オプションも参照。 *term++close* *term++open* サポートされる [options] は以下の通り: @@ -275,67 +273,67 @@ Normal ハイライトグループにより決定されます。 {expr} が空の場合、関数を呼び出すこと はできない。 - より詳細なオプションを使いたいならば |term_start()| 関 - 数を使ってください。 - ウィンドウを縦分割するには、次のようにします: > + より詳細なオプションを使いたい場合は |term_start()| 関 + 数を使用する。 + ウィンドウを縦分割するには、次のようにする: > :vertical terminal < または短縮形: > :vert ter 端末に関連付けられたバッファが強制的にアンロードもしくは削除された場合には、 -`job_stop(job, "kill")` を呼んだのと同じようにそのジョブが殺されます。 -普通にウィンドウを閉じると |E947| が返ります。killメソッドが "++kill={how}" か +`job_stop(job, "kill")` を呼んだのと同じようにそのジョブが殺される。 +普通にウィンドウを閉じると |E947| が返る。killメソッドが "++kill={how}" か |term_setkill()| で設定されている時にウィンドウを閉じると、その方法でジョブを -強制終了または中断します。例: > +強制終了または中断する。例: > :term ++kill=term tail -f /tmp/log -ジョブが実行され続けるとウィンドウはそのバッファが変更されたかのように振る舞い -ます。`CTRL-W :quit` でウィンドウを閉じようとしても失敗します。`CTRL-W :quit!` -を使うとジョブは終了します。ウィンドウのテキストは失われ、バッファは削除されま -す。`CTRL-W :bunload!` はバッファは残りますが、空になります。 +ジョブが実行され続けるとウィンドウはそのバッファが変更されたかのように振る舞 +う。`CTRL-W :quit` でウィンドウを閉じようとしても失敗する。`CTRL-W :quit!` を +使うとジョブは終了する。ウィンドウのテキストは失われ、バッファは削除される。 +`CTRL-W :bunload!` はバッファは残るが、空になる。 -`CTRL-W :close` で閉じようとしてもまた失敗します。`CTRL-W :close!` はウィンド -ウを閉じ、バッファを隠し状態にします。 +`CTRL-W :close` で閉じようとしても失敗する。`CTRL-W :close!` はウィンドウを閉 +じ、バッファを隠し状態にする。 `CTRL-W :hide` を使うとジョブを実行したまま、端末ウィンドウを閉じバッファを隠 -し状態にできます。`:buffer` コマンドで現在のウィンドウを端末ウィンドウにするこ -とができます。未保存の変更があった場合にはこれは失敗しますが、通常と同じように -! で強制できます。 +し状態にできる。`:buffer` コマンドで現在のウィンドウを端末ウィンドウにすること +ができる。未保存の変更があった場合にはこれは失敗するが、通常と同じように ! で +強制できる。 *terminal-close* 端末ジョブが終了し、[commmand] が指定されなかった場合 (例えば、'shell' コマン -ドが実行された)、端末ウィンドウはデフォルトで閉じられます (ただし、空間を受け -取る次のウィンドウのバッファに 'nobuflisted' オプションが設定されている場合を -除きます。その場合、端末ウィンドウは自動的に閉じられませんが、そのウィンドウで -新しい空のバッファが開かれます)。 +ドが実行された)、端末ウィンドウはデフォルトで閉じられる (ただし、空間を受け取 +る次のウィンドウのバッファに 'nobuflisted' オプションが設定されている場合を除 +く。その場合、端末ウィンドウは自動的に閉じられないが、そのウィンドウで新しい空 +のバッファが開かれる)。 端末ウィンドウが閉じられるとき、例えば、シェルが終了し、"++close" 引数が使用さ -れ、これが最後の通常のVimウィンドウである場合、Vimは終了します。これは、通常の -ウィンドウで |:quit| を使用するようなものです。ヘルプウィンドウとプレビューウィ -ンドウはカウントされません。 +れ、これが最後の通常のVimウィンドウである場合、Vimは終了する。これは、通常の +ウィンドウで |:quit| を使用するようなものだ。ヘルプウィンドウとプレビューウィ +ンドウはカウントされない。 バックグラウンドジョブをウィンドウ無しで実行し、終了したらウィンドウに表示する -には、次のようにオプションを指定します: > +には、次のようにオプションを指定する: > :term ++hidden ++open make -ウィンドウが予期せぬタイミングで開かれ、あなたが行っている操作に割り込む可能性 -があることに留意してください。 +Note ウィンドウが予期せぬタイミングで開かれ、あなたが行っている操作に割り込む +可能性があることに注意。 *E947* *E948* ジョブが実行され続けると、バッファが変更されたとみなされ Vim を簡単には終了で -きなくなります。|abandon| を参照してください。 +きなくなる。|abandon| を参照。 -ジョブが終了しバッファになんの変更も及ぼさなかった場合、そのウィンドウを閉じる -とバッファは削除されます。 +ジョブが終了しバッファに何の変更も及ぼさなかった場合、そのウィンドウを閉じると +バッファは削除される。 -端末バッファを変更するにはオプション 'modifiable' をセットする必要があります。 -これはジョブが終了した後にのみ行なえます。バッファを最初に変更した瞬間に普通の -バッファになりハイライトは削除されます。バッファを保存可能にするために |:file| -でバッファの名前を、コマンド名から変更することもできます。 +端末バッファを変更するにはオプション 'modifiable' をセットする必要がある。これ +はジョブが終了した後にのみ行なえる。バッファを最初に変更した瞬間に普通のバッ +ファになりハイライトは削除される。バッファを保存可能にするために |:file| でバッ +ファの名前を、コマンド名から変更することもできる。 サイズ変更 ~ *terminal-resizing* -端末のサイズは3つのモードのいずれか1つで決まります: +端末のサイズは3つのモードのいずれか1つで決まる: 1. オプション 'termwinsize' が空の場合: 端末サイズはウィンドウのサイズに従う。 最小で2行、10桁。 @@ -348,80 +346,76 @@ Normal ハイライトグループにより決定されます。 りも大きい場合には、使用されない空の領域ができる。 ウィンドウサイズが端末サイズよりも小さい場合、端末の一部の領域(左下に相当する -部分)のみが描画されます。 +部分)のみが描画される。 -端末の現在のサイズを取得するのに関数 |term_getsize()| が使えます。 +端末の現在のサイズを取得するのに関数 |term_getsize()| が使える。 |term_setsize()| は 1 か 2 のモードの時にだけ、すなわち 'termwinsize' が -"rowsXcols" 形式ではない時に使えます。 +"rowsXcols" 形式ではない時に使える。 端末ジョブモードと端末ノーマルモード ~ *Terminal-mode* *Terminal-Job* -ジョブが実行中には端末の内容はジョブの制御下にあります。それにはカーソルの位置 -も含まれます。入力したキーはジョブに送られます。端末の内容はいつでも更新されえ -ます。これを 端末ジョブモードと呼びます。 +ジョブが実行中には端末の内容はジョブの制御下にある。それにはカーソルの位置も含 +まれる。入力したキーはジョブに送られる。端末の内容はいつでも更新されえる。これ +を端末ジョブモードと呼ぶ。 -CTRL-W N (もしくは 'termwinkey' N) を入力すると 端末ノーマルモードに遷移しま -す。このモードでは端末ウィンドウのコンテンツはVimの制御下に置かれ、ジョブの出 -力は一時保留されます。 CTRL-\ CTRL-N でも同じようになります。 +CTRL-W N (もしくは 'termwinkey' N) を入力すると 端末ノーマルモードに遷移する。 +このモードでは端末ウィンドウのコンテンツはVimの制御下に置かれ、ジョブの出力は +一時保留される。CTRL-\ CTRL-N でも同様。 -|:tmap| のマッピングは 端末ジョブモードにおいて作用します。 -|term_sendkeys()| で送ったキーには tmap は適用されませんが、|feedkeys()| で送っ -たキーには適用されます。 +|:tmap| のマッピングは 端末ジョブモードにおいて作用する。|term_sendkeys()| で +送ったキーには tmap は適用されないが、|feedkeys()| で送ったキーには適用される。 -端末ジョブモードから挿入モードに入ることはできません。 +端末ジョブモードから挿入モードに入ることはできない。 *Terminal-Normal* *E946* -端末ノーマルモードでは、Vimの普通のコマンドでカーソルを自由に動かせます。 -視覚的にテキストをマークしたり、テキストをヤンクしたり思いのままです。しかし -バッファの内容を変更することはできません。 'i' や 'a' など挿入モードを開始する -コマンドを使うと 端末ジョブモードに戻ります。結果としてウィンドウは端末のコ -ンテンツを反映させるために更新されます。|:startinsert| は無効です。 +端末ノーマルモードでは、Vimの普通のコマンドでカーソルを自由に動かせる。視覚的 +にテキストをマークしたり、テキストをヤンクしたり思いのままである。しかしバッ +ファの内容を変更することはできない。'i' や 'a' など挿入モードを開始するコマン +ドを使うと 端末ジョブモードに戻る。結果としてウィンドウは端末のコンテンツを反 +映させるために更新される。|:startinsert| は無効である。 端末ノーマルモードではステータスラインとウィンドウタイトルには "(Terminal)" と -表示されます。端末ノーマルモード中にジョブが終了してしまった場合にはそれが -"(Terminal-finished)" に変わります。 +表示される。端末ノーマルモード中にジョブが終了してしまった場合にはそれが +"(Terminal-finished)" に変わる。 ジョブが端末内で行を出力し内容が上からスクロールすると、それらの行は記憶され端 -末ノーマルモードで表示されます。行数は 'termwinscroll' オプションによって制限 -されます。この制限を超えると、スクロールされた行の最初の10%が削除されて失われ -ます。 +末ノーマルモードで表示される。行数は 'termwinscroll' オプションによって制限さ +れる。この制限を超えると、スクロールされた行の最初の10%が削除されて失われる。 カーソルスタイル ~ *terminal-cursor-style* -デフォルトでは端末ウィンドウのカーソルには点滅しないブロックが使われます。カー -ソルの点滅状態や形を変更するのに、普通の xterm のエスケープシーケンスが使われ -ます。端末ウィンドウからフォーカスが外れる際に Vim は元々のカーソルを復元しま -す。 +デフォルトでは端末ウィンドウのカーソルには点滅しないブロックが使われる。カーソ +ルの点滅状態や形を変更するのに、普通の xterm のエスケープシーケンスが使われる。 +端末ウィンドウからフォーカスが外れる際に Vim は元々のカーソルを復元する。 xterm を "-bc" 引数で起動した場合、または他の方法でカーソルの点滅を発生させた -場合、が1つの例外となります。それらにより点滅フラグが逆転したことが問題の引き -金となります。なぜなら Vim はその逆転を検出できず、端末ウィンドウのカーソルの -点滅も逆転します。 +場合、が1つの例外となる。それらにより点滅フラグが逆転したことが問題の引き金と +なる。なぜなら Vim はその逆転を検出できず、端末ウィンドウのカーソルの点滅も逆 +転する。 セッション ~ *terminal-session* 可能かつ必要であれば、セッションファイルを使用する際に端末ウィンドウが復元され -ます。 +る。 -"terminal" が 'sessionoptions' から削除された場合、端末ウィンドウは復元されま -せん。 +"terminal" が 'sessionoptions' から削除された場合、端末ウィンドウは復元されな +い。 -端末内のジョブが終了した場合、ウィンドウは復元されません。 +端末内のジョブが終了した場合、ウィンドウは復元されない。 -端末を復元できる場合は、その端末を開くために使用されたコマンドが再び使われま -す。これを変更するには |term_setrestore()| 関数を使用します。これは、コマンド -を "NONE" に設定して特定の端末を復元しない場合にも使用できます。 +端末を復元できる場合は、その端末を開くために使用されたコマンドが再び使われる。 +これを変更するには |term_setrestore()| 関数を使用する。これは、コマンドを +"NONE" に設定して特定の端末を復元しない場合にも使用できる。 特別なキー ~ *terminal-special-keys* -端末エミュレータはxtermをシミュレートするので、Vimとxtermの両方が認識するエス -ケープシーケンスのみが端末ウィンドウで利用可能になります。もし、端末で実行中の -ジョブに他のエスケープシーケンスを渡したい場合は、転送を設定する必要がありま -す。例: > +端末エミュレータは xterm をシミュレートするため、端末ウィンドウでは Vim と +xterm の両方が認識するエスケープシーケンスのみを使用できる。端末で実行中のジョ +ブに他のエスケープシーケンスを渡したい場合は、転送を設定する必要がある。例: > tmap ]b SendToTerm("\]b") func SendToTerm(what) call term_sendkeys('', a:what) @@ -431,10 +425,10 @@ xterm を "-bc" 引数で起動した場合、または他の方法でカーソ Unix ~ *terminal-unix* -UNIX ではすべての種類のコマンドを実行可能とするために pty を用いています。端末 -内で Vim ですら実行できるのです! これは以下のようにデバッグに利用できます。 +UNIX ではすべての種類のコマンドを実行可能とするために pty を用いている。端末内 +で Vim ですら実行できる! これは以下のようにデバッグに使用される。 -実行中のジョブに情報を伝えるのに以下の環境変数が利用できます: +実行中のジョブに情報を伝えるために以下の環境変数が使用される: TERM 端末の名前、'term' オプションまたはGUIでは $TERM から。 "xterm" で始まらなければ "xterm" にフォールバックする ROWS 端末の初期行数 @@ -448,32 +442,32 @@ UNIX ではすべての種類のコマンドを実行可能とするために pt MS-Windows ~ *terminal-ms-windows* MS-Windows ではすべての種類のコマンドを実行可能とするために winpty を用いてい -ます。あたりまえのことですが、ここで実行するコマンドは端末の中で動くもので、独 -自のウィンドウを開くものであってはいけません。 +る。あたりまえのことだが、ここで実行するコマンドは端末の中で動くもので、独自の +ウィンドウを開くものであってはならない。 -winpty 内の以下の2つのファイルが必要です: +winpty 内の以下の2つのファイルが必要である: winpty.dll winpty-agent.exe -これらは以下のページからダウンロードできます: +これらは以下のページからダウンロードできる: https://github.com/rprichard/winpty -これらのファイルを環境変数 PATH のいずれかに置くだけです。必要ならばオプション -'winptydll' でファイルの場所を指定できます。もしも32ビット版と64ビット版を同じ +これらのファイルを環境変数 PATH のいずれかに置くだけだ。必要ならばオプション +'winptydll' でファイルの場所を指定できる。もしも32ビット版と64ビット版を同じ ディレクトリに置きたいのであれば、Vimのビルドに合わせてそれぞれを winpty32.dll -もしくは winpty64.dll という名前に変更してください。 +もしくは winpty64.dll という名前に変更すること。 *ConPTY* *E982* MS-Windows 10の最新バージョン("October 2018 Update" 以降)では、winpty は必要な -くなりました。それらのバージョンでは、|:terminal| はターミナルアプリケーション -をホストするためのWindowsの組み込みサポート "ConPTY" を使用します。ConPTY が使 -用されていると、あいまいな幅の文字に関するレンダリングアーティファクトが発生す -る可能性があります。そのような問題に遭遇した場合は、"winpty" をインストールし -てください。ConPTY の問題が修正されるまでは、"winpty" が優先されます。 +くなった。それらのバージョンでは、|:terminal| はターミナルアプリケーションをホ +ストするためのWindowsの組み込みサポート "ConPTY" を使用する。ConPTY が使用され +ている場合、あいまいな幅の文字に関するレンダリングアーティファクトが発生する可 +能性がある。そのような問題に遭遇した場合は、"winpty" をインストールすること。 +ConPTY の問題が修正されるまでは、"winpty" が優先される。 -環境変数は実行中のジョブに情報を渡すために使用されます: +環境変数は実行中のジョブに情報を渡すために使用される: VIM_SERVERNAME v:servername ============================================================================== @@ -977,84 +971,83 @@ term_wait({buf} [, {time}]) *term_wait()* ============================================================================== 3. 端末通信 *terminal-communication* -端末内で実行中のジョブと通信するには、いくつかの方法があります: +端末内で実行中のジョブと通信するには、いくつかの方法がある: - |term_sendkeys()| でテキストやエスケープシーケンスをVimからジョブに送信する。 - JSON APIを使用して、エンコードされたコマンドをジョブからVimに送信する。 -- |client-server| 機構を使う。これは、XサーバーとMS-Windowsのマシンで動作しま - す。 +- |client-server| 機構を使う。これは、XサーバーとMS-Windowsのマシンで動作する。 Vim からジョブへ: term_sendkeys() ~ *terminal-to-job* -これにより、端末内で実行中のジョブをリモート制御することができます。これは一方 -向の機構です。ジョブは Vim に合図することで表示を更新することができます。例え -ば、シェルが端末内で実行されている場合、次の操作を実行できます: > +これにより、端末内で実行中のジョブをリモート制御することができる。これは一方向 +の機構である。ジョブは Vim に合図することで表示を更新することができる。例えば、 +シェルが端末内で実行されている場合、次の操作を実行できる: > call term_sendkeys(buf, "ls *.java\") これは、キーを受け取ったときに正しいことをする適切な状態になるようなジョブを必 -要とします。上記の例では、シェルはコマンドの入力を待つ必要があります。 +要とする。上記の例では、シェルはコマンドの入力を待つ必要がある。 この目的のために作成されたジョブでは、JSON APIエスケープシーケンスを別の方向で -使用できます。例: > +使用できる。例: > call term_sendkeys(buf, "\]51;["response"]\x07") ジョブから Vimへ: JSON API ~ *terminal-api* -ジョブは特殊なエスケープシーケンスを使用してJSONをVimに送ることができます。 -JSONは、Vimが理解できるコマンドをエンコードします。そのようなメッセージの例: > +ジョブは特殊なエスケープシーケンスを使用してJSONをVimに送ることができる。JSON +は、Vimが理解できるコマンドをエンコードする。そのようなメッセージの例: > ]51;["drop", "README.md"]<07> -本体は常にリストになっており、終わりを見つけやすいです: ]<07> +本体は常にリストになっており、終わりを見つけやすい: ]<07> ]51;msg<07> シーケンスは "Emacs shell" のためにxtermによって予約されてい -ます。私たちがここでやっていることに似ています。 +る。私たちがここでやっていることに似ている。 現在サポートされているコマンド: call {funcname} {argument} - ユーザー定義関数を {argument} で呼び出します。 - 関数は2つの引数で呼び出されます: 端末のバッファ番号とデコード - されたJSON引数 {argument} です。 + ユーザー定義関数を {argument} で呼び出す。 + 関数は2つの引数で呼び出される: 端末のバッファ番号とデコードさ + れたJSON引数 {argument} である。 デフォルトでは、関数名は端末API用に意図されていない関数を誤っ - て呼び出すのを避けるため、"Tapi_" で始まる必要があります。これ - は、|term_setapi()| で変更できます。 - ユーザー関数は引数の正常性チェックをする必要があります。 - 関数は |term_sendkeys()| を使って返信を送り返すことができます。 + て呼び出すのを避けるため、"Tapi_" で始まる必要がある。これ + は、|term_setapi()| で変更できる。 + ユーザー関数は引数の正常性チェックをする必要がある。 + 関数は |term_sendkeys()| を使って返信を送り返すことができる。 JSONでの例: > ["call", "Tapi_Impression", ["play", 14]] -< 次のように定義された関数を呼び出します: > +< 次のように定義された関数を呼び出す: > function Tapi_Impression(bufnum, arglist) if len(a:arglist) == 2 echomsg "impression " .. a:arglist[0] echomsg "count " .. a:arglist[1] endif endfunc -< `:echo` からの出力は、再描画によって消去されるかもしれません。 - `:echomsg` を使い、`:messages` でそれを見ることができます。 +< `:echo` からの出力は、再描画によって消去されるかもしれない。 + `:echomsg` を使い、`:messages` でそれを見ることができる。 drop {filename} [options] - Vimに `:drop` コマンドのようにファイルを開かせます。 - もし、{filename} が既にウィンドウで開かれていたら、そのウィン - ドウに切り替えます。それ以外の場合は、{filename} を編集するた - めの新しいウィンドウを開きます。 + Vimに `:drop` コマンドのようにファイルを開かせる。 + {filename} が既にウィンドウで開かれている場合、そのウィンドウ + に切り替える。それ以外の場合は、{filename} を編集するための新 + しいウィンドウを開く。 Note ジョブとVimの両方がカレントディレクトリを変更する可能性が - あるので、フルパスを使用することをお勧めします。 + あるので、フルパスを使用することをお勧めする。 - [options] は新しくウィンドウを開いた時にだけ使われます。 - 与える場合、それは辞書でなければなりません。 |++opt| と同様に、 - これらのエントリは認識されます: + [options] は新しくウィンドウを開いた時にだけ使われる。与える場 + 合、それは辞書でなければならない。|++opt| と同様に、これらのエ + ントリは認識される: "ff" ファイルフォーマット: "dos" か "mac" か "unix" "fileformat" 同上。 - "enc" 'fileencoding' を上書きします。 + "enc" 'fileencoding' を上書きする。 "encoding" 同上。 - "bin" 'binary' を設定します。 + "bin" 'binary' を設定する。 "binary" 同上。 - "nobin" 'binary' をリセットします。 + "nobin" 'binary' をリセットする。 "nobinary" 同上。 - "bad" 不正な文字のための振る舞いを指定します。 - |++bad| を参照してください。 + "bad" 不正な文字のための振る舞いを指定する。 + |++bad| を参照。 JSONでの例: > ["drop", "path/file.txt", {"ff": "dos"}] @@ -1066,10 +1059,10 @@ Vimにこのエスケープシーケンスを送信させるトリック: > set t_ts& t_fs& 理論的根拠: コマンドや式を許可しないのはなぜですか? セキュリティ上の問題が生 -じる可能性があるためです。 +じる可能性があるため。 *terminal-autoshelldir* -これを使用して、カレントディレクトリをシェルから Vim に渡すことができます。こ -れを .vimrc に置きます: > +これを使用して、カレントディレクトリをシェルから Vim に渡すことができる。こ +れを .vimrc に置く: > def g:Tapi_lcd(_, path: string) if isdirectory(path) execute 'silent lcd ' .. fnameescape(path) @@ -1103,23 +1096,23 @@ Vimにこのエスケープシーケンスを送信させるトリック: > クライアントサーバー機能を使う ~ *terminal-client-server* -これは、 v:servername が空でない場合にのみ機能します。必要に応じて、端末を開く -前に次のように設定することができます: > +これは、v:servername が空でない場合にのみ機能する。必要に応じて、端末を開く前 +に次のように設定することができる: > call remote_startserver('vim-server') -$VIM_SERVERNAME はサーバー名を渡すために端末内に設定されます。 +$VIM_SERVERNAME はサーバー名を渡すために端末内に設定される。 -ジョブでは、次のようなことをおこなうことができます: > +ジョブでは、次のようなことをおこなうことができる: > vim --servername $VIM_SERVERNAME --remote +123 some_file.c -これによりファイル "some_file.c" が開き、123行目にカーソルが置かれます。 +これによりファイル "some_file.c" が開き、123行目にカーソルが置かれる。 ============================================================================== 4. リモートテスト *terminal-testing* -VimのほとんどのテストはVimのなかでスクリプトを実行しています。テスト対象のコー -ドと干渉してしまうような、幾つかのテストではこれは機能しません。これを避けるた -めに端末ウィンドウ内でさらにVimを実行しています。そのテストではキーストローク -を端末に送信し、その結果として端末画面の状態が変わるのを検査します。 +VimのほとんどのテストはVimのなかでスクリプトを実行している。テスト対象のコード +と干渉してしまうような、幾つかのテストではこれは機能しない。これを避けるために +端末ウィンドウ内でさらにVimを実行している。そのテストではキーストロークを端末 +に送信し、その結果として端末画面の状態が変わるのを検査する。 関数 ~ @@ -1132,85 +1125,84 @@ VimのほとんどのテストはVimのなかでスクリプトを実行して 5. 画面ダンプの差分 *terminal-diff* 場合によっては、Vimが正しい文字を画面に表示するかどうかテストするのは面倒かも -しれません。例えば、構文の強調表示。これを簡単にするために、端末の画面ダンプを -取ってそれを予想される画面ダンプと比較することが可能です。 +しれない。例えば、構文のハイライト。これを簡単にするために、端末の画面ダンプを +取ってそれを予想される画面ダンプと比較することが可能である。 -Vimはウィンドウのサイズ、テキスト、色、その他の属性を表示します。 Vimの画面サ -イズ、フォント、その他のプロパティは関係ありません。したがって、この機構はシス -テム間で移植可能です。従来のスクリーンショットでは、フォントサイズやフォント -ファミリーなど、すべての違いが反映されます。 +Vimはウィンドウのサイズ、テキスト、色、その他の属性を表示する。Vimの画面サイ +ズ、フォント、その他のプロパティは関係ない。したがって、この機構はシステム間で +移植可能である。従来のスクリーンショットでは、フォントサイズやフォントファミ +リーなど、すべての違いが反映される。 Vimの画面ダンプテストを書く ~ *terminal-dumptest* -例については、src/testdir/test_syntax.vim の Test_syntax_c() 関数を参照してく -ださい。主要な部分は: -- テストするファイルを作成します。構文のハイライトをテストするのに便利です。空 - のバッファでVimを起動することもできます。 -- 特定のサイズの端末でVimを実行します。デフォルトは75桁で20行です。これはダン - プが常にこのサイズであることを確認します。RunVimInTerminal() 関数がこれを処 - 理します。Vimコマンドの引数を渡します。 -- |term_sendkeys()| を使用して任意のコマンドをVimに送信します。例えば: > +例については、src/testdir/test_syntax.vim の Test_syntax_c() 関数を参照。主要 +な部分は: +- テストするファイルを作成する。構文のハイライトをテストするのに便利である。空 + のバッファでVimを起動することもできる。 +- 特定のサイズの端末でVimを実行する。デフォルトは75桁で20行である。これはダン + プが常にこのサイズであることを確認する。RunVimInTerminal() 関数がこれを処 + 理する。Vimコマンドの引数を渡す。 +- |term_sendkeys()| を使用して任意のコマンドをVimに送信する。例えば: > call term_sendkeys(buf, ":echo &lines &columns\") - VerifyScreenDump() を使用して、画面が期待どおりの状態になっていることを確認 - します。これは、参照する画面ダンプが src/testdir/dumps/ ディレクトリに存在す - ることを前提としています。 ".dump" なしの名前を渡します。テスト関数の名前と - シーケンス番号を使用してファイルがどのようなテストで使用されているかを知るこ - とができます。 -- コマンド送信と状態の確認を繰り返します。 -- 最後に StopVimInTerminal() を呼び出してVimを停止します。 - -初めてこれを行うときにはスクリーンダンプはまだありません。空のファイルを作成し -ます。例: > + する。これは、参照する画面ダンプが src/testdir/dumps/ ディレクトリに存在する + ことを前提としている。".dump" なしの名前を渡す。テスト関数の名前とシーケンス + 番号を使用してファイルがどのようなテストで使用されているかを知ることができ + る。 +- コマンド送信と状態の確認を繰り返す。 +- 最後に StopVimInTerminal() を呼び出してVimを停止する。 + +初めてこれを行うときにはスクリーンダンプはまだありません。空のファイルを作成す +る。例: > touch src/testdir/dumps/Test_function_name_01.dump -テストが失敗したら、参照ダンプと失敗したダンプを比較するコマンドを提供します。 +テストが失敗したら、参照ダンプと失敗したダンプを比較するコマンドを提供する。 例: > call term_dumpdiff("failed/Test_func.dump", "dumps/Test_func.dump") -カレントディレクトリを src/testdir に設定して、Vimでこのコマンドを使用します。 -テストに満足したら、参照の代わりに失敗したダンプを移動します: > +カレントディレクトリを src/testdir に設定して、Vimでこのコマンドを使用する。 +テストに満足したら、参照の代わりに失敗したダンプを移動する: > :!mv failed/Test_func.dump dumps/Test_func.dump 画面ダンプを作成する ~ *terminal-screendump* 画面ダンプを作成するには、端末でVim (または他のプログラム)を実行し、目的の状態 -を表示させます。その後、|term_dumpwrite()| 関数を使用して画面ダンプファイルを -作成します。例: > +を表示させる。その後、|term_dumpwrite()| 関数を使用して画面ダンプファイルを作 +成する。例: > :call term_dumpwrite(77, "mysyntax.dump") -この "77" は端末のバッファ番号です。それを見るためには `:ls!` を使用してくださ -い。 +この "77" は端末のバッファ番号である。それを見るためには `:ls!` を使用する。 -|term_dumpload()| で画面ダンプを見ることができます: > +|term_dumpload()| で画面ダンプを見ることができる: > :call term_dumpload("mysyntax.dump") Vimがまったく同じ画面を表示していることを確認するには、まったく同じ方法でVimを -再度実行し、目的の状態を表示します。次に、別のファイル名を使用して画面ダンプを -再度作成します: > +再度実行し、目的の状態を表示する。次に、別のファイル名を使用して画面ダンプを +再度作成する: > :call term_dumpwrite(88, "test.dump") -ファイルがまったく同じものであることを主張するには |assert_equalfile()| を使い -ます: > +ファイルがまったく同じものであることを主張するには |assert_equalfile()| を使う: +> call assert_equalfile("mysyntax.dump", "test.dump") -違いがある場合、v:errors はエラーメッセージを含みます。 +違いがある場合、v:errors はエラーメッセージを含む。 画面ダンプを比較する ~ *terminal-diffscreendump* -|assert_equalfile()| は、何が違うのかを簡単に見分けることはできません。問題を -見つけるには、|term_dumpdiff()| を使用します: > +|assert_equalfile()| は、何が違うのかを簡単に見分けることはできない。問題を見 +つけるには、|term_dumpdiff()| を使用する: > call term_dumpdiff("mysyntax.dump", "test.dump") -これで3つの部分からなるウィンドウが開きます: +これで3つの部分からなるウィンドウが開く: 1. 1番目のダンプの内容 2. 1番目と2番目のダンプの差 3. 2番目のダンプの内容 -通常、2番目の部分で何が違うかを見ることができます。1番目または2番目ダンプの位 -置に関連付けるには 'ruler' を使用します。文字は違いの種類を示します: +通常、2番目の部分で何が違うかを見ることができる。1番目または2番目ダンプの位置 +に関連付けるには 'ruler' を使用する。文字は違いの種類を示す: X 異なる文字 > 1番目にはカーソルがあるが、2番目にはカーソルがない < 2番目にはカーソルがあるが、1番目にはカーソルがない @@ -1222,153 +1214,149 @@ Vimがまったく同じ画面を表示していることを確認するには + 1番目に文字がない - 2番目に文字がない -あるいは、 "s" を押して、1番目と2番目のダンプを入れ替えます。これを何度か実行 -して、テキストの文脈における相違を見つけ出すことができます。 +あるいは、"s" を押して、1番目と2番目のダンプを入れ替える。これを何度か実行し +て、テキストの文脈における相違を見つけ出すことができる。 ============================================================================== 6. デバッグ *terminal-debug* *terminal-debugger* Vim のウィンドウでソースコードを表示しながらプログラムを gdb でデバッグするの -に、端末デバッグプラグインが利用できます。これは Vim の中だけで完結するので、 -SSH 接続が1つあればリモートで機能します。 +に、端末デバッグプラグインが使用できる。これは Vim の中だけで完結するので、SSH +接続が1つあればリモートで機能する。 |+terminal| 機能がない場合、プラグインは可能であれば "prompt" バッファタイプを -使用します。実行中のプログラムは、新しく開かれた端末ウィンドウを使用します。詳 -細は |termdebug-prompt| を参照してください。 +使用する。実行中のプログラムは、新しく開かれた端末ウィンドウを使用する。詳細は +|termdebug-prompt| を参照。 はじめに ~ *termdebug-starting* -以下のコマンドでプラグインを読み込みます: > +以下のコマンドでプラグインを読み込む: > packadd termdebug -|.vimrc| ファイルからプラグインを読み込む時は、"!" 属性を追加します: > +|.vimrc| ファイルからプラグインを読み込む時は、"!" 属性を追加する: > packadd! termdebug < *:Termdebug* デバッグを開始するには `:Termdebug` または `:TermdebugCommand` に続けてコマン -ド名を入力します。例: > +ド名を入力する。例: > :Termdebug vim -これにより2つのウィンドウが開きます: +これにより2つのウィンドウが開く: gdb のウィンドウ "gdb vim" を実行した端末ウィンドウ。ここでは直接 gdb とやりと りできる。バッファ名は "!gdb" プログラムのウィンドウ - 実行したプログラムの端末ウィンドウ。 gdb 内で "run" をしてプロ + 実行したプログラムの端末ウィンドウ。gdb 内で "run" をしてプロ グラムの I/O が発生するとこのウィンドウに反映される。その内容 は gdb の制御下にない。バッファ名は "debugged program" である。 -現在のウィンドウはソースコードを表示するのに使われます。gdb が一時停止した際 -に、可能ならばその場所が表示されます。現在の位置を示すためにハイライトグループ -debugPC を使ってサインが利用されます。 +現在のウィンドウはソースコードを表示するのに使われる。gdb が一時停止した際に、 +可能ならばその場所が表示される。現在の位置を示すためにハイライトグループ +debugPC を使って目印が使用される。 現在のウィンドウの内容が変更されると、現在の gdb の位置を表示するために別のウィ -ンドウが開きます。`:Winbar` を使ってウィンドウツールバーを追加することができま -す。 +ンドウが開く。`:Winbar` を使ってウィンドウツールバーを追加することができる。 -実行中のプログラムを操作するにはその端末にフォーカスを合わせます。以降の操作は -普通の端末ウィンドウと同様です。 +実行中のプログラムを操作するにはその端末にフォーカスを合わせる。以降の操作は +普通の端末ウィンドウと同様である。 デバッガの終了は、通常は gdb のウィンドウで "quit" とタイプすると、開いている -2つのウィンドウが閉じられます。 +2つのウィンドウが閉じられる。 -一度にアクティブにできるデバッガは1つだけです。 +一度にアクティブにできるデバッガは1つだけである。 *termdebug-timeout* -gdb の起動方法によっては、termdebug の起動時間が異なる場合があります。 +gdb の起動方法によっては、termdebug の起動時間が異なる場合がありる。 gdb の起動プロセスに時間が掛かりすぎる場合に termdebug が停止しないように、設 -定可能なタイムアウトが含まれています。このタイムアウトは、10 ミリ秒の倍数で設 -定できます: > +定可能なタイムアウトが含まれている。このタイムアウトは、10 ミリ秒の倍数で設定 +できる: > let g:termdebug_config['timeout'] = 500 # 500 * 10 ミリ秒 = 5 秒。 -デフォルトのタイムアウトは 3000 ミリ秒です。 +デフォルトのタイムアウトは 3000 ミリ秒である。 *:TermdebugCommand* デバッグ中のコマンドに特定のコマンドを与える場合は、`:TermdebugCommand` コマン -ドの後にコマンド名と追加パラメータを使用できます。 > +ドの後にコマンド名と追加パラメータを使用できる。 > :TermdebugCommand vim --clean -c ':set nu' -`:Termdebug` と`:TermdebugCommand` はオプションの "!" をサポートしています。 -gdbウィンドウで一時停止せずにコマンドをすぐに開始します (そしてカーソルはデバッ -グされたウィンドウに表示されます) 例えば: > +`:Termdebug` と`:TermdebugCommand` はオプションの "!" をサポートしている。 +gdbウィンドウで一時停止せずにコマンドをすぐに開始する (そしてカーソルはデバッ +グされたウィンドウに表示される) 例えば: > :TermdebugCommand! vim --clean すでに実行中の実行可能ファイルにgdbをアタッチするか、コアファイルを使用するに -は、追加の引数を渡します。例: > +は、追加の引数を渡す。例: > :Termdebug vim core :Termdebug vim 98343 -引数が指定されていない場合、gdbウィンドウが表示されます。このウィンドウでは、 -例えばgdbの `file` コマンドを使って、どのコマンドを実行するか指定する必要があ -ります。 +引数が指定されていない場合、gdbウィンドウが表示される。このウィンドウでは、例 +えば、gdbの `file` コマンドを使って、どのコマンドを実行するか指定する必要があ +る。 セッション例 ~ *termdebug-example* -Vimの "src" ディレクトリを起動して、Vimをビルドします: > +Vimの "src" ディレクトリを起動して、Vimをビルドする: > % make -デバッグシンボルが存在することを確認します。通常は、$CFLAGS に "-g" が含まれる -ことを意味します。 +デバッグシンボルが存在することを確認する。通常は、$CFLAGS に "-g" が含まれるこ +とを意味する。 -Vimを起動します: > +Vimを起動する: > % ./vim -termdebug プラグインを読み込んで、Vimのデバッグを開始します: > +termdebug プラグインを読み込んで、Vimのデバッグを開始する: > :packadd termdebug :Termdebug vim -これで、3つのウィンドウが表示されます: - source - 開始直後はボタン付きウィンドウツールバーがあります - gdb - ここに gdb コマンドを入力できます - program - 実行されたプログラムはこのウィンドウを使用します +これで、3つのウィンドウが表示される: + source - 開始直後はボタン付きウィンドウツールバーがある + gdb - ここに gdb コマンドを入力できる + program - 実行されたプログラムはこのウィンドウを使用する -CTRL-W CTRL-W またはマウスを使用して、ウィンドウ間でフォーカスを移動できます。 -gdbウィンドウにフォーカスを当てて、次のように入力します: > +CTRL-W CTRL-W またはマウスを使用して、ウィンドウ間でフォーカスを移動できる。 +gdbウィンドウにフォーカスを当てて、次のように入力する: > break ex_help run -Vim は programウィンドウで実行を開始します。そこにフォーカスを置いて入力しま -す: > +Vim は programウィンドウで実行を開始する。そこにフォーカスを置いて入力する: > :help gui -Gdbはex_helpブレークポイントまで実行します。sourceウィンドウにex_cmds.cファイ -ルが表示されます。ブレークポイントが設定されている目印欄に赤い "1 " のマーカー -が表示されます。デバッガが停止した行が強調表示されます。今すぐプログラムを進め -ることができます。マウスを使いましょう: ウィンドウツールバーの "Next" ボタンを -クリックしてください。デバッガがソースコードの行を実行すると、強調表示されま -す。 - -forループが強調表示されるまで、"Next" を数回クリックします。カーソルを -"eap->arg" の最後に置き、ツールバーの "Eval" をクリックします。これが表示され -ます: +Gdbはex_helpブレークポイントまで実行する。sourceウィンドウにex_cmds.cファイル +が表示される。ブレークポイントが設定されている目印欄に赤い "1 " のマーカーが表 +示される。デバッガが停止した行がハイライトされる。今すぐプログラムを進めること +ができる。マウスを使おう: ウィンドウツールバーの "Next" ボタンをクリックする。 +デバッガがソースコードの行を実行すると、ハイライトされる。 + +forループがハイライトされるまで、"Next" を数回クリックする。カーソルを +"eap->arg" の最後に置き、ツールバーの "Eval" をクリックする。これが表示される: "eap->arg": 0x555555e68855 "gui" ~ -こうすることで、ローカル変数の値を調べることができます。また、gdbウィンドウに -フォーカスを当てて、"print" コマンドを使用することもできます。例: > +こうすることで、ローカル変数の値を調べることができる。また、gdbウィンドウに +フォーカスを当てて、"print" コマンドを使用することもできる。例: > print *eap マウスポインタの動きがうまくいっていれば、マウスがgdbで評価できるテキストの上 -に置かれたときにVimはバルーンを表示します。 +に置かれたときにVimはバルーンを表示する。 次に、sourceウィンドウに戻り、forループの後の最初の行にカーソルを置いて、次の -ように入力します: > +ように入力する: > :Break -新しいブレークポイントを示す ">>" マーカーが表示されます。ツールバーの "Cont" -をクリックして、コードをブレークポイントまで実行させます。 +新しいブレークポイントを示す ">>" マーカーが表示される。ツールバーの "Cont" を +クリックして、コードをブレークポイントまで実行させる。 -より高度なコマンドをgdbウィンドウに入力することができます。例えば、次のように -入力します: > +より高度なコマンドをgdbウィンドウに入力することができる。例えば、次のように入 +力する: > watch curbuf -ツールバーの "Cont" をクリックします (または、gdbウィンドウで "cont" と入力し -ます)。do_ecmd() にある "curbuf" の値が変更されるまで、実行が継続されます。こ -のウォッチポイントを再度削除するには、gdbウィンドウで次のように入力します: > +ツールバーの "Cont" をクリックする (または、gdbウィンドウで "cont" と入力す +る)。do_ecmd() にある "curbuf" の値が変更されるまで、実行が継続される。この +ウォッチポイントを再度削除するには、gdbウィンドウで次のように入力する: > delete 3 -gdbウィンドウに次のように入力すると、スタックが表示されます: > +gdbウィンドウに次のように入力すると、スタックが表示される: > where -スタックフレームを移動します。例えば: > +スタックフレームを移動する。例えば: > frame 3 -sourceウィンドウには、より深いレベルに呼び出された時点のコードが表示されます。 +sourceウィンドウには、より深いレベルに呼び出された時点のコードが表示される。 コードをステップ実行する ~ *termdebug-stepping* -gdb ウィンドウにフォーカスを移しコマンドを入力します。一般的なものは以下: +gdb ウィンドウにフォーカスを移しコマンドを入力する。一般的なものは以下: - CTRL-C プログラムを中断する - next 現在の行を実行し、次の行(の手前)で停止する - step 現在の行を実行し、次の文(の手前)で停止する。関数の内側に入る @@ -1380,7 +1368,7 @@ gdb ウィンドウにフォーカスを移しコマンドを入力します。 - continue 実行を再開する *:Run* *:Arguments* -ソースコードを表示するウィンドウで、これらのコマンドをgdbの制御に使用できます: +ソースコードを表示するウィンドウで、これらのコマンドをgdbの制御に使用できる: `:Run` [args] [args] または以前の引数でプログラムを実行する `:Arguments` {args} 次の `:Run` のために引数を設定する *:Break* カーソル位置にブレークポイントを設定する @@ -1398,31 +1386,31 @@ gdb ウィンドウにフォーカスを移しコマンドを入力します。 *:Stop* プログラムを中断する 'mouse' が設定されている場合、プラグインはこれらのエントリを持つウィンドウツー -ルバーを追加します: +ルバーを追加する: Step `:Step` Next `:Over` Finish `:Finish` Cont `:Continue` Stop `:Stop` Eval `:Evaluate` -この方法で、マウスを使用して最も一般的なコマンドを実行できます。マウスのクリッ -クを有効にするには、'mouse' オプションを設定する必要があります。 +この方法で、マウスを使用して最も一般的なコマンドを実行できる。マウスのクリック +を有効にするには、'mouse' オプションを設定する必要がある。 このツールバーの設定については、|termdebug_winbar| を参照。 *:Winbar* -開いている他のウィンドウにウィンドウツールバーを追加することができます: > +開いている他のウィンドウにウィンドウツールバーを追加することができる: > :Winbar gdbがソース行で停止し、現在ソースコードを表示しているウィンドウがない場合、ソー -スコード用の新しいウィンドウが作成されます。これは、ソースコードウィンドウの -バッファが変更され、破棄できない場合でも発生します。 +スコード用の新しいウィンドウが作成される。これは、ソースコードウィンドウのバッ +ファが変更され、破棄できない場合でも発生する。 -gdbは各ブレークポイントに番号を与えます。Vim内では、赤い背景で、目印欄に表示さ -れます。次のgdbコマンドを使用できます。 +gdbは各ブレークポイントに番号を与える。Vim内では、赤い背景で、目印欄に表示され +る。次のgdbコマンドを使用できる。 - info break ブレークポイントの一覧 - delete N ブレークポイント N を削除 また、カーソルがブレークポイントの行にある場合は `:Clear` コマンドを使うことが -できます。または、右クリックのメニュー項目 "Clear breakpoint" を使用することも -できます。 +できる。または、右クリックのメニュー項目 "Clear breakpoint" を使用することもで +きる。 変数を検査する ~ @@ -1432,8 +1420,8 @@ gdbは各ブレークポイントに番号を与えます。Vim内では、赤 `:Evaluate` {expr} {expr} を評価する `:'<,'>Evaluate` ビジュアル選択したテキストを評価する -これは gdb ウィンドウで "print" コマンドを使ったのに相当します。 -`:Evaluate` は `:Ev` に短縮できます。 +これは gdb ウィンドウで "print" コマンドを使ったのに相当する。 +`:Evaluate` は `:Ev` に短縮できる。 スタックフレームの移動 ~ @@ -1461,7 +1449,7 @@ gdbは各ブレークポイントに番号を与えます。Vim内では、赤 イベント ~ *termdebug-events* -4 つのautocmdが使えます: > +4 つのautocmdが使える: > au User TermdebugStartPre echomsg 'debugging starting' au User TermdebugStartPost echomsg 'debugging started' au User TermdebugStopPre echomsg 'debugging stopping' @@ -1488,153 +1476,150 @@ TermdebugStopPost デバッグの終了後、gdb 関連ウィンドウが閉じ カスタマイズ ~ *termdebug-customizing* *g:termdebug_config* -以前は、構成にいくつかのグローバル変数が使用されていました。これらは非推奨であ -り、g:termdebug_config 辞書の使用が推奨されます。g:termdebug_config が存在する -場合、他のグローバル変数は使用されません。推奨される方法は、空の辞書から始める -ことです: > +以前は、構成にいくつかのグローバル変数が使用されていた。これらは非推奨であり、 +g:termdebug_config 辞書の使用が推奨される。g:termdebug_config が存在する場合、 +他のグローバル変数は使用されない。推奨される方法は、空の辞書から始めることであ +る: > let g:termdebug_config = {} -次に、以下のように辞書にエントリを追加することができます。非推奨のグローバル変 -数名については、念のため記載しています。g:termdebug_config の使用に切り替える -場合は、古い変数名を見つけてその値を引き継ぎ、非推奨の変数を削除することができ -ます。 +次に、以下のように辞書にエントリを追加することができる。非推奨のグローバル変数 +名については、念のため記載している。g:termdebug_config の使用に切り替える場合 +は、古い変数名を見つけてその値を引き継ぎ、非推奨の変数を削除することができる。 プロンプトモード ~ *termdebug-prompt* |+terminal| 機能がサポートされていない場合や MS-Windows上の場合、gdbは -'buftype' が "prompt" に設定されたバッファで動作します。これは少し違った働きを -します: -- コマンドを入力している間、gdbウィンドウは挿入モードになります。 でノー - マルモードにして、バッファ間を移動したり、コピー/ペーストなどをおこなうこと - ができます。`a` や `i` のような挿入モードを開始するコマンドでgdbコマンドの編 - 集に戻ります。 -- デバッグ中のプログラムは別のウィンドウで実行されます。MS-Windowsでは、これは - 新しいコンソールウィンドウです。Unixでは、|+terminal| 機能が利用可能な場合、 - 端末ウィンドウが開いてデバッグされたプログラムを実行します。 +'buftype' が "prompt" に設定されたバッファで動作する。これは少し違った働きをす +る: +- コマンドを入力している間、gdbウィンドウは挿入モードになる。 でノーマル + モードにして、バッファ間を移動したり、コピー/ペーストなどをおこなうことがで + きる。`a` や `i` のような挿入モードを開始するコマンドでgdbコマンドの編集に戻 + る。 +- デバッグ中のプログラムは別のウィンドウで実行される。MS-Windowsでは、これは新 + しいコンソールウィンドウである。Unixでは、|+terminal| 機能が利用可能な場合、 + 端末ウィンドウが開いてデバッグされたプログラムを実行する。 *termdebug_use_prompt* -プロンプトモードは、|+terminal| 機能が有効な場合でも使用できます: > +プロンプトモードは、|+terminal| 機能が有効な場合でも使用できる: > let g:termdebug_config['use_prompt'] = v:true -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebug_use_prompt = v:true < -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になる。 マッピング ~ -termdebug プラグインは、いくつかのデフォルトマッピングを有効にします。 +termdebug プラグインは、いくつかのデフォルトマッピングを有効にする。 termdebug セッションが終了すると、これらのマッピングはすべて元の値にリセットさ -れます。 +れる。 *termdebug_map_K* *termdebug-mappings* K へのバッファローカル (|:map-local|) マッピングがすでに存在している場合を除 -き、K キーは通常 |:Evaluate| にマップされています。これが不要な場合は: > +き、K キーは通常 |:Evaluate| にマップされている。これが不要な場合は: > let g:termdebug_config['map_K'] = v:false -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebug_map_K = v:false < -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になる。 *termdebug_map_minus* - へのバッファローカルマッピングがすでに存在している場合を除き、- は通常 -|:Down| にマップされています。これが不要な場合は: > +|:Down| にマップされている。これが不要な場合は: > let g:termdebug_config['map_minus'] = v:false < *termdebug_map_plus* + へのバッファローカルマッピングがすでに存在している場合を除き、+ は通常 |:Up| -にマップされています。これが不要な場合は: > +にマップされている。これが不要な場合は: > let g:termdebug_config['map_plus'] = v:false < *termdebug_disasm_window* Asm ウィンドウをデフォルトで表示させたい場合、"disasm_window" フラグに 1 を設 -定します。"disasm_window_height" エントリを使用してウィンドウの高さを設定でき -ます: > +定する。"disasm_window_height" エントリを使用してウィンドウの高さを設定できる: +> let g:termdebug_config['disasm_window'] = v:true let g:termdebug_config['disasm_window_height'] = 15 -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebug_disasm_window = 15 -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になる。 -1以上の任意の値を設定でき、その値が Asm ウィンドウの高さになります。 +1以上の任意の値を設定でき、その値が Asm ウィンドウの高さになる。 カレントウィンドウに十分な水平方向のスペースがある場合、垂直方向に分割され、 -Asm ウィンドウがソースコードウィンドウと並べて表示されます (高さのオプションは -使用されません)。 +Asm ウィンドウがソースコードウィンドウと並べて表示される (高さのオプションは使 +用されない)。 *termdebug_variables_window* Var ウィンドウをデフォルトで表示させたい場合、"variables_window" フラグに 1 を -設定します。"variables_window_height" エントリを使用してウィンドウの高さを設定 -できます: > +設定する。"variables_window_height" エントリを使用してウィンドウの高さを設定で +きる: > let g:termdebug_config['variables_window'] = v:true let g:termdebug_config['variables_window_height'] = 15 -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebug_variables_window = 15 -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になる。 -1 以上の任意の値を設定でき、その値が Var ウィンドウの高さになります。 +1 以上の任意の値を設定でき、その値が Var ウィンドウの高さになる。 カレントウィンドウに十分な水平方向のスペースがある場合、垂直方向に分割され、 -Var ウィンドウがソースコードウィンドウと並べて表示されます (高さのオプションは -使用されません)。 +Var ウィンドウがソースコードウィンドウと並べて表示される (高さのオプションは +使用されない)。 通信 ~ *termdebug-communication* -Vim が gdb と通信するために他に隠されたバッファを利用します。バッファ名は "gdb -communicate" です。このバッファは消さないでください。消してしまうとデバッガが -動作しなくなってしまうでしょう。 +Vim が gdb と通信するために他に隠されたバッファが使用される。バッファ名は "gdb +communicate" である。デバッガが壊れてしまうので、このバッファを削除しないこと。 gdb は奇妙な動作をしていますが、プラグインはその問題を回避するために最善を尽く -しています。 +している。 例えば、gdbウィンドウで "continue" と入力した後に、CTRL-C を使用して実行中のプ -ログラムを中断することができます。しかし、MIコマンド "-exec-continue" を使用し -た後、CTRL-C を押しても中断しません。したがって、通信チャネルを使用する代わり -に、`:Continue` コマンドに "continue" が使用されていることがわかります。 +ログラムを中断することができる。しかし、MIコマンド "-exec-continue" を使用した +後、CTRL-C を押しても中断しない。したがって、通信チャネルを使用する代わりに、 +`:Continue` コマンドに "continue" が使用されていることが分かる。 GDBコマンド ~ *g:termdebugger* gdb コマンド以外のデバッガを使うには、`:Termdebug` を実行する前に -g:termdebug_config の "debugger" エントリか "g:termdebugger" 変数を変更してく -ださい: > +g:termdebug_config の "debugger" エントリか "g:termdebugger" 変数を変更する: > let g:termdebug_config['command'] = "mygdb" -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebugger = "mygdb" -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になりる。 -コマンドに引数が必要な場合はリストを使用してください: > +コマンドに引数が必要な場合はリストを使用する: > let g:termdebug_config['command'] = ['rr', 'replay', '--'] -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebugger = ['rr', 'replay', '--'] -gdb がデバッガで適切に動作するように、いくつかの引数が追加されます。それらを変 -更したい場合は、引数リストをフィルタリングする関数を追加します: > +gdb がデバッガで適切に動作するように、いくつかの引数が追加される。それらを変更 +したい場合は、引数リストをフィルタリングする関数を追加する: > let g:termdebug_config['command_filter'] = MyDebugFilter 引数を追加したくないが、"pty" を設定する必要がある場合は、関数を使用して必要な -引数を追加します: > +引数を追加する: > let g:termdebug_config['command_add_args'] = MyAddArguments -この関数はいままでの引数のリストと、ptyの名前である2番目の引数とともに呼ばれま -す。 +この関数はいままでの引数のリストと、ptyの名前である2番目の引数とともに呼ばれ +る。 *gdb-version* -gdb と完全互換のあるデバッガのみが使えます。Vim は gdb の操作に GDB/MI インター -フェイスを利用しています。 "new-ui" コマンドには、gdbバージョン7.12以降が必要 -です。このエラーが発生した場合: > +gdb と完全互換のあるデバッガのみが使える。Vim は gdb の操作に GDB/MI インター +フェイスを使用する。"new-ui" コマンドには、gdbバージョン7.12以降が必要である。 +このエラーが発生した場合: > Undefined command: "new-ui". Try "help".~ -あなたの gdb が古すぎます。 +あなたの gdb が古すぎる。 カラー ~ *hl-debugPC* *hl-debugBreakpoint* -サインの色は以下のハイライトグループで調整できます: +目印の色は以下のハイライトグループで調整できる: - debugPC 現在の位置 - debugBreakpoint ブレークポイント -'background' オプションが "light" の時のデフォルトは以下のとおりです: +'background' オプションが "light" の時のデフォルトは以下のとおり: hi debugPC term=reverse ctermbg=lightblue guibg=lightblue hi debugBreakpoint term=reverse ctermbg=red guibg=red -'background' オプションが "dark" の時は以下のとおりです: +'background' オプションが "dark" の時は以下のとおり: hi debugPC term=reverse ctermbg=darkblue guibg=darkblue hi debugBreakpoint term=reverse ctermbg=red guibg=red @@ -1642,65 +1627,65 @@ gdb と完全互換のあるデバッガのみが使えます。Vim は gdb の ショートカット ~ *termdebug_shortcuts* TermDebugSendCommand() 関数を使用して、任意のウィンドウで動作する gdb を制御す -る独自のショートカット(マッピング)を定義できます。例: > +る独自のショートカット(マッピング)を定義できる。例: > map ,w :call TermDebugSendCommand('where') -引数は gdb コマンドです。 +引数は gdb コマンド。 ポップアップメニュー ~ *termdebug_popup* デフォルトでTermdebugプラグインは 'mousemodel' を "popup_setpos" に設定し、こ -れらのエントリをポップアップメニューに追加します: +れらのエントリをポップアップメニューに追加する: Set breakpoint `:Break` Clear breakpoint `:Clear` Evaluate `:Evaluate` -あなたがこれを望まないならば、それを無効にしてください: > +これを望まない場合は、以下で無効にする: > let g:termdebug_config['popup'] = 0 -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebug_popup = 0 -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になる。 デフォルトの目印の変更 ~ *termdebug_signs* Termdebug は、signcolumn のブレークポイント ID の 16 進数を使用してブレークポ -イントを表します。"0xFF" より大きい場合は、実際には記号用の画面セルが 2 つしか -ないため、"F+" と表示されます。 +イントを表す。"0xFF" より大きい場合は、実際には記号用の画面セルが 2 つしかない +ため、"F+" と表示される。 ブレークポイントの目印をカスタマイズしたい場合: > let g:termdebug_config['sign'] = '>>' -g:terminal_config がまだない場合は、以下を使用できます: > +g:terminal_config がまだない場合は、以下を使用できる: > let g:termdebug_config = {'sign': '>>'} -この後、ブレークポイントはサイン欄に `>>` と表示されます。 +この後、ブレークポイントは目印欄に `>>` と表示される。 ウィンドウツールバー ~ *termdebug_winbar* デフォルトでは、マウスが有効な場合、Termdebug プラグインはウィンドウツールバー -を作成します (|:Winbar| を参照)。これを望まない場合は、次のようにして無効にし -てください: > +を作成する (|:Winbar| を参照)。これを望まない場合は、次のようにして無効にする: +> let g:termdebug_config['winbar'] = 0 Vimのウィンドウ幅 ~ *termdebug_wide* デバッグを開始した際に Vim のウィンドウ幅を変更し、垂直分割を利用するには次の -ように設定します: > +ように設定する: > let g:termdebug_config['wide'] = 163 -g:termdebug_config がない場合は、以下を使用できます: > +g:termdebug_config がない場合は、以下を使用できる: > let g:termdebug_wide = 163 -ただし、後者の形式は将来のリリースでは非推奨になります。 +ただし、後者の形式は将来のリリースでは非推奨になる。 -これは `:Termdebug` を実行した際に 'columns' を 163 に設定します。元の値はデ -バッガが終了する際に復元されます。 +これは `:Termdebug` を実行した際に 'columns' を 163 に設定する。元の値はデバッ +ガが終了する際に復元される。 幅の値が設定されていて、'columns' がすでに幅の値より大きい場合、'columns' を変 -更せずに垂直分割が使用されます。 +更せずに垂直分割が使用される。 -幅の値を1に設定することで 'columns' の変更なしに垂直分割が使えます。これは端末 -がVimによってサイズ変更できない場合に便利です。 +幅の値を1に設定することで 'columns' の変更なしに垂直分割が使える。これは端末が +Vimによってサイズ変更できない場合に便利である。 vim:tw=78:ts=8:noet:ft=help:norl: From 5d3dc47a88f123b69a6c6d2d7ea88f39f2d8baa8 Mon Sep 17 00:00:00 2001 From: h_east Date: Sat, 7 Sep 2024 20:28:04 +0900 Subject: [PATCH 2/7] Update doc/terminal.jax Co-authored-by: Tsuyoshi CHO --- doc/terminal.jax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index 364e11762..73e094187 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -176,7 +176,7 @@ Normal ハイライトグループにより決定される。 *g:terminal_ansi_colors* 新しい端末ウィンドウでデフォルトで使用される 16 個の ANSI カラーは、変数 `g:terminal_ansi_colors` を使用して設定することができる。これは、16 個の色名ま -たは 16 進数の色コードのリストでなければなりません。これは、|highlight-guifg| +たは 16 進数の色コードのリストでなければならない。これは、|highlight-guifg| で受け入れられるものと同様である。GUI カラーを使用しない場合、端末ウィンドウは 常に元の端末の 16 個の ANSI カラーを使用する。 `term_start()` を使う時、"ansi_colors" オプションにより色が設定できる。 From ff2c70dc356c40489dc9cc905d79f15319c4831d Mon Sep 17 00:00:00 2001 From: h-east Date: Sat, 7 Sep 2024 20:50:33 +0900 Subject: [PATCH 3/7] Fix by review --- doc/terminal.jax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index 73e094187..f852a1557 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -1296,7 +1296,7 @@ gdbウィンドウで一時停止せずにコマンドをすぐに開始する ( セッション例 ~ *termdebug-example* -Vimの "src" ディレクトリを起動して、Vimをビルドする: > +Vim の "src" ディレクトリ内で作業を開始し、Vim をビルドする: > % make デバッグシンボルが存在することを確認する。通常は、$CFLAGS に "-g" が含まれるこ とを意味する。 From e5cb37f0d490aeb6cd36337f82605154fe6ff4b1 Mon Sep 17 00:00:00 2001 From: h-east Date: Tue, 10 Sep 2024 18:50:37 +0900 Subject: [PATCH 4/7] Tweak return columns --- doc/terminal.jax | 58 ++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index f852a1557..1b66a3808 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -68,8 +68,8 @@ キー入力 ~ *terminal-typing* 端末ウィンドウにキーボードのフォーカスがある時には、入力したキーはジョブに送ら -れる。これには可能ならば pty を使用する。端末ウィンドウ外をクリックすれば、 -キーボードフォーカスを外に動かせる。 +れる。これには可能ならば pty を使用する。端末ウィンドウ外をクリックすれば、キー +ボードフォーカスを外に動かせる。 *t_CTRL-W_CTRL-W* *t_CTRL-W_:* ウィンドウや他の CTRL-W コマンドを操作するために CTRL-W を使える。例えば: @@ -103,8 +103,8 @@ CTRL-W の代わりに別のキーを使うにはオプション 'termwinkey' 他のモードと同じように、ノーマルモードへ移行するための特別なキーの組み合わせで ある CTRL-\ CTRL-N が使用できる。 *t_CTRL-W_CTRL-C* -ジョブを強制停止するのに CTRL-W CTRL-C を使える。MS-Windowsでは CTRL-Break -でも同様にジョブを停止できる。 +ジョブを強制停止するのに CTRL-W CTRL-C を使える。MS-Windowsでは CTRL-Break で +も同様にジョブを停止できる。 CTRL-C を入力した場合、その効果は pty がどのように構成されているかに従う。シン プルなコマンドにおいては SIGINT がジョブに送られ、結果的にジョブが停止するだろ @@ -127,8 +127,8 @@ Esc を使うことができるが、他のキーが壊れないようにする *options-in-terminal* 端末ウィンドウを開いて 'buftype' を "terminal" に設定すると、TerminalWinOpen -自動コマンドイベントが発生する。これにより、端末ウィンドウとバッファ専用のオ -プションを設定することが可能である。例: > +自動コマンドイベントが発生する。これにより、端末ウィンドウとバッファ専用のオプ +ションを設定することが可能である。例: > au TerminalWinOpen * setlocal bufhidden=hide これが適切に動作するのは端末が隠れていない場合に限られる。 @@ -151,9 +151,9 @@ Note この隠れている端末のオプションは端末が隠れている間 \ expand('')->str2nr(), 123) 隠れていない端末では |TerminalWinOpen| を使う。 -マウスイベント (クリックやドラッグ) は端末に渡される。マウス移動イベントは -Vim 自身が受け取ったときにのみ渡される。'balloonevalterm' が有効になっている -端末の場合。 +マウスイベント (クリックやドラッグ) は端末に渡される。マウス移動イベントは Vim +自身が受け取ったときにのみ渡される。'balloonevalterm' が有効になっている端末の +場合。 サイズと色 ~ @@ -176,9 +176,9 @@ Normal ハイライトグループにより決定される。 *g:terminal_ansi_colors* 新しい端末ウィンドウでデフォルトで使用される 16 個の ANSI カラーは、変数 `g:terminal_ansi_colors` を使用して設定することができる。これは、16 個の色名ま -たは 16 進数の色コードのリストでなければならない。これは、|highlight-guifg| -で受け入れられるものと同様である。GUI カラーを使用しない場合、端末ウィンドウは -常に元の端末の 16 個の ANSI カラーを使用する。 +たは 16 進数の色コードのリストでなければならない。これは、|highlight-guifg| で +受け入れられるものと同様である。GUI カラーを使用しない場合、端末ウィンドウは常 +に元の端末の 16 個の ANSI カラーを使用する。 `term_start()` を使う時、"ansi_colors" オプションにより色が設定できる。 |term_setansicolors()| 関数を使用して色を変更したり、|term_getansicolors()| を 使用して現在使用されている色を取得することができる。 @@ -234,7 +234,7 @@ Normal ハイライトグループにより決定される。 ++curwin 現在のウィンドウで端末を開き、現在の ウィンドウを分割しない。現在のバッファ - を放棄( |abandon| )できない場合は失敗 + を放棄 (|abandon|) できない場合は失敗 する。 ++hidden 端末を隠しバッファとして開く。ウィンド ウは使用されない。 @@ -611,9 +611,9 @@ term_getcursor({buf}) *term_getcursor()* 端末 {buf} のカーソル位置を取得する。2 つの数値と辞書から構成 されるリストを返す: [row, col, dict]。 - "row" および "col" は 1 を基準とし、最初のスクリーンセルは - 行 1、列 1 である。これは端末自身のカーソル位置であり、Vim - ウィンドウのものではない。 + "row" および "col" は 1 を基準とし、最初のスクリーンセルは、 + 行 1、列 1 である。これは端末自身のカーソル位置であり、Vim ウィ + ンドウのものではない。 "dict" は以下 3 つのメンバを持つ: "visible" カーソルが可視のときは 1、不可視のときは 0 @@ -1010,8 +1010,8 @@ Vim からジョブへ: term_sendkeys() ~ 関数は2つの引数で呼び出される: 端末のバッファ番号とデコードさ れたJSON引数 {argument} である。 デフォルトでは、関数名は端末API用に意図されていない関数を誤っ - て呼び出すのを避けるため、"Tapi_" で始まる必要がある。これ - は、|term_setapi()| で変更できる。 + て呼び出すのを避けるため、"Tapi_" で始まる必要がある。これは、 + |term_setapi()| で変更できる。 ユーザー関数は引数の正常性チェックをする必要がある。 関数は |term_sendkeys()| を使って返信を送り返すことができる。 JSONでの例: > @@ -1141,8 +1141,8 @@ Vimの画面ダンプテストを書く ~ - テストするファイルを作成する。構文のハイライトをテストするのに便利である。空 のバッファでVimを起動することもできる。 - 特定のサイズの端末でVimを実行する。デフォルトは75桁で20行である。これはダン - プが常にこのサイズであることを確認する。RunVimInTerminal() 関数がこれを処 - 理する。Vimコマンドの引数を渡す。 + プが常にこのサイズであることを確認する。RunVimInTerminal() 関数がこれを処理 + する。Vimコマンドの引数を渡す。 - |term_sendkeys()| を使用して任意のコマンドをVimに送信する。例えば: > call term_sendkeys(buf, ":echo &lines &columns\") - VerifyScreenDump() を使用して、画面が期待どおりの状態になっていることを確認 @@ -1179,8 +1179,8 @@ Vimの画面ダンプテストを書く ~ :call term_dumpload("mysyntax.dump") Vimがまったく同じ画面を表示していることを確認するには、まったく同じ方法でVimを -再度実行し、目的の状態を表示する。次に、別のファイル名を使用して画面ダンプを -再度作成する: > +再度実行し、目的の状態を表示する。次に、別のファイル名を使用して画面ダンプを再 +度作成する: > :call term_dumpwrite(88, "test.dump") ファイルがまったく同じものであることを主張するには |assert_equalfile()| を使う: @@ -1258,8 +1258,8 @@ debugPC を使って目印が使用される。 現在のウィンドウの内容が変更されると、現在の gdb の位置を表示するために別のウィ ンドウが開く。`:Winbar` を使ってウィンドウツールバーを追加することができる。 -実行中のプログラムを操作するにはその端末にフォーカスを合わせる。以降の操作は -普通の端末ウィンドウと同様である。 +実行中のプログラムを操作するにはその端末にフォーカスを合わせる。以降の操作は普 +通の端末ウィンドウと同様である。 デバッガの終了は、通常は gdb のウィンドウで "quit" とタイプすると、開いている 2つのウィンドウが閉じられる。 @@ -1469,9 +1469,9 @@ TermdebugStopPre デバッグの終了前で、gdb が終了する時、多く 合は gdb window で "quit" コマンドを発行した 後。 *TermdebugStopPost* -TermdebugStopPost デバッグの終了後、gdb 関連ウィンドウが閉じ、 - デバッグのバッファが消去されデバッグ前の状態が - 復帰した時。 +TermdebugStopPost デバッグの終了後、gdb 関連ウィンドウが閉じ、デ + バッグのバッファが消去されデバッグ前の状態が復 + 帰した時。 カスタマイズ ~ @@ -1562,8 +1562,8 @@ g:termdebug_config がない場合は、以下を使用できる: > 1 以上の任意の値を設定でき、その値が Var ウィンドウの高さになる。 カレントウィンドウに十分な水平方向のスペースがある場合、垂直方向に分割され、 -Var ウィンドウがソースコードウィンドウと並べて表示される (高さのオプションは -使用されない)。 +Var ウィンドウがソースコードウィンドウと並べて表示される (高さのオプションは使 +用されない)。 通信 ~ *termdebug-communication* From 71376339cd016b2e7eb5c80e21ca54f038fa299d Mon Sep 17 00:00:00 2001 From: h_east Date: Wed, 11 Sep 2024 00:46:07 +0900 Subject: [PATCH 5/7] Update doc/terminal.jax Co-authored-by: mityu --- doc/terminal.jax | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index 1b66a3808..b21f5e909 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -89,8 +89,8 @@ CTRL-W gt 次のタブページに移動する。`gt` と同じ *t_CTRL-W_gt* CTRL-W gT 前のタブページに移動する。`gT` と同じ *t_CTRL-W_gT* -CTRL-W の代わりに別のキーを使うにはオプション 'termwinkey' を参照。 -但し 'termwinkey' を2回タイプすると 'termwinkey' がジョブへ送信される。例: +CTRL-W の代わりに別のキーを使うにはオプション 'termwinkey' を参照。但し、 +'termwinkey' を2回タイプすると 'termwinkey' がジョブへ送信される。例: 'termwinkey' CTRL-W 次のウィンドウにフォーカスを移動する 'termwinkey' : Exコマンドに入る 'termwinkey' 'termwinkey' 端末内のジョブに 'termwinkey' を送信する From b823df38aa26184917a26849c3c3ed9eb0bc891c Mon Sep 17 00:00:00 2001 From: h_east Date: Sun, 15 Sep 2024 19:01:18 +0900 Subject: [PATCH 6/7] Update doc/terminal.jax Co-authored-by: Tsuyoshi CHO --- doc/terminal.jax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index b21f5e909..bcc242ab8 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -1267,7 +1267,7 @@ debugPC を使って目印が使用される。 一度にアクティブにできるデバッガは1つだけである。 *termdebug-timeout* -gdb の起動方法によっては、termdebug の起動時間が異なる場合がありる。 +gdb の起動方法によっては、termdebug の起動時間が異なる場合がある。 gdb の起動プロセスに時間が掛かりすぎる場合に termdebug が停止しないように、設 定可能なタイムアウトが含まれている。このタイムアウトは、10 ミリ秒の倍数で設定 できる: > From 81aa9c380063a20c1fc01fbe845a2d2567f56de3 Mon Sep 17 00:00:00 2001 From: h-east Date: Sun, 15 Sep 2024 23:01:01 +0900 Subject: [PATCH 7/7] Fix by review --- doc/terminal.jax | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/terminal.jax b/doc/terminal.jax index bcc242ab8..c9598d48a 100644 --- a/doc/terminal.jax +++ b/doc/terminal.jax @@ -1058,8 +1058,8 @@ Vimにこのエスケープシーケンスを送信させるトリック: > redraw set t_ts& t_fs& -理論的根拠: コマンドや式を許可しないのはなぜですか? セキュリティ上の問題が生 -じる可能性があるため。 +理論的根拠: コマンドや式を許可しないのはなぜか? セキュリティ上の問題が生じる +可能性があるため。 *terminal-autoshelldir* これを使用して、カレントディレクトリをシェルから Vim に渡すことができる。こ れを .vimrc に置く: > @@ -1570,8 +1570,8 @@ Var ウィンドウがソースコードウィンドウと並べて表示され Vim が gdb と通信するために他に隠されたバッファが使用される。バッファ名は "gdb communicate" である。デバッガが壊れてしまうので、このバッファを削除しないこと。 -gdb は奇妙な動作をしていますが、プラグインはその問題を回避するために最善を尽く -している。 +gdb は奇妙な動作をしているが、プラグインはその問題を回避するために最善を尽くし +ている。 例えば、gdbウィンドウで "continue" と入力した後に、CTRL-C を使用して実行中のプ ログラムを中断することができる。しかし、MIコマンド "-exec-continue" を使用した 後、CTRL-C を押しても中断しない。したがって、通信チャネルを使用する代わりに、