Windows ターミナルでのテキストの選択

Windows ターミナルではテキストの選択は簡単ですが、ターミナルには、テキストの選択をさらに良くするための多くの追加機能が用意されています。

マウスのサポート

マウスを左クリックしてドラッグし、選択範囲を作成します。 ダブルクリックすると選択範囲が単語単位で展開され、3 回クリックすると行単位で展開されます。

Alt キーを押したままにした場合は、ブロック選択を作成します (線の選択とは対照的)。 ブロックの選択により、線の末尾まで折り返されない四角形の領域が作成されます。

Shift キーを押したままにすると、ターミナル上の特定のポイントまで選択範囲を明示的に展開できます。クリックしてドラッグする必要はありません。

選択したら、いくつかのオプションがあります。 1 回の左クリックで選択範囲がクリアされます。 選択範囲を使用する場合は、右クリックして選択したテキストをクリップボードにコピーし、選択範囲をクリアします。 もう一度右クリックすると、クリップボードの内容がターミナルに貼り付けられます。

注

Windows ターミナルでは、Windows Subsystem for Linux (WSL) アプリケーションおよび仮想ターミナル (VT) 入力を使用する Windows アプリケーションでのマウス入力がサポートされています。 このサポートは、 tmux や Midnight Commander などのアプリケーションがターミナル ウィンドウで項目を選択したときに認識します。 アプリケーションがマウス モードの場合は、 Shift キー を押しながら VT 入力を送信する代わりに選択できます。

キーボードのサポート

選択は、 selectAll または markMode アクションを使用して作成できます。 selectAllアクションは、バッファー内のすべてのテキストを選択します。 markModeアクションは、ターミナル内のカーソル位置で選択が作成される特別なモードを切り替えます。 マーク モードの場合は、次の構成不可能なキー バインドを使用してカーソルを移動できます。

キーの割り当て 結果
方向キー 指定した方向に文字単位で移動する
Ctrl + Left 前の単語または既存の単語の先頭に移動する
Ctrl + Right 次の単語または既存の単語の末尾に移動する
家 行の先頭に移動する
終わり 行の末尾に移動する
Pgup ページで上に移動する (ビューポート)
Pgdn ページで下に移動する (ビューポート)
Ctrl + Home バッファーの先頭に移動する
Ctrl + End バッファーの末尾に移動する
Enter アクティブな選択範囲をコピーする

マーク モードの場合は、 Tab キーまたは Shift キーを押しながら Tab キー を押して、バッファー内の次または前のハイパーリンクに移動できます。 experimental.detectUrlsが有効になっている場合、Windows ターミナルはハイパーリンクを自動的に検出できます。

マーク モードに関係なく、次の構成不可能なキー バインドを使用して既存の選択範囲を展開できます。

キーの割り当て 結果
Shift + 方向キー 指定した方向に文字ごとに展開する
Ctrl + Shift + Left 前の単語または既存の単語の先頭まで展開します
Ctrl + Shift + Right 次の単語または既存の単語の末尾まで展開します
Shift + Home 行の先頭まで展開する
Shift + End 行の末尾まで展開する
Shift + Pgup ページで上に展開する (ビューポート)
Shift + Pgdn ページ単位でビューポートを下に拡張する
Ctrl + Shift + Home バッファーの先頭まで展開する
Ctrl + Shift + End バッファーの末尾まで展開する

toggleBlockSelectionアクションを使用して、既存の選択範囲をブロック選択に変換します。

キーボードを使用して作成または変更した選択では、選択範囲のどの端がアクティブに移動されているかを示す選択マーカーも表示されます。 switchSelectionEndpointアクションを使用して、選択範囲のもう一方の端の移動を開始できます。

選択したら、いくつかのオプションがあります。 ESC キーを使用して選択を解除できます。 または、ほとんどのキー入力で選択がクリアされ、キー イベントが基になるシェルに直接渡されます。 選択したテキストを使用する場合は、 copy アクションを使用してクリップボードにコピーできます。

選択したテキストのコピー

前述のように、選択したテキストを右クリックまたは copy アクションでコピーできます。 ただし、テキストをコピーするためのいくつかの設定をカスタマイズできます。

  • 書式設定されたテキストのコピー
    • copyFormattingグローバル設定を使用して、選択したテキスト自体の書式をクリップボードにコピーします。 この設定では、前景色、背景色、フォントなど、ターミナルのフォント情報をコピーできます。
    • 特定のキー バインドまたはコマンドへの書式のコピーを制限する場合は、copyFormatting アクションで copy パラメーターを変更します。
  • テキストの選択を閉じずにコピーする
    • テキストの選択を閉じずにテキストをコピーするには、dismissSelection アクションのcopy パラメーターをfalseに設定します。
  • 1 行としてコピーする
    • テキストを 1 行としてコピーするには、singleLine アクションで copy パラメーターを使用します。
  • コントロール シーケンスを使用したコピー
    • コピーしたテキストに withControlSequences制御シーケンスを含めるには、copy アクションで パラメーターを使用します。
  • ブロック選択からの末尾の空白の削除
    • trimBlockSelectionグローバル設定を使用して、ブロック選択から末尾の空白を削除します。

copyOnSelectグローバル設定を使用して、新しく選択したテキストをクリップボードに自動的にコピーします。 この設定を有効にすると、選択範囲が存在する場合は、ターミナルを右クリックすると、選択したテキストがコピーされ、ターミナルに貼り付けられます。

注

copyOnSelectを有効にした場合、キーボードを使用して選択範囲を変更しても、新しく選択したテキストは自動的にコピーされません。 copyアクションを使用するか、ターミナルを右クリックして、テキストを手動でコピーする必要があります。

選択範囲の外観のカスタマイズ

配色では、selectionBackground プロパティを使用して選択色をカスタマイズできます。 または、 selectionBackground プロファイル設定を使用して、特定のプロファイルの選択色をオーバーライドすることもできます。

単語区切り記号のカスタマイズ

前述のように、 Ctrl + Shift + 方向キー (マーク モードの場合は Ctrl + 方向キー) をダブルクリックして使用すると、単語で移動できます。 ただし、単語は単なる空白以外のスペースで区切ることができます。 これらの単語の境界は、 wordDelimiters グローバル設定を使用してカスタマイズできます。