英語で読む

次の方法で共有


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

Windows ターミナルでのテキストの選択は簡単ですが、この領域にはさらに優れた機能がたくさんあります。

マウスのサポート

マウスを左クリックしながらドラッグすると、選択範囲を作成できます。 ダブルクリックすると単語単位で、トリプルクリックすると行単位で選択範囲を拡張できます。

Alt キーを押しながらの場合は、(行選択ではなく) ブロック選択を作成できます。 ブロック選択の場合、行末まで含まない四角形の領域を作成できます。

Shift キーを押しながらの場合は、クリックやドラッグを使わずに、明示的に選択範囲をターミナルの特定のポイントまで拡張できます。

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

注意

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

キーボードのサポート

選択範囲を作成するには、selectAll または markMode アクションを使います。 selectAll アクションを使うと、バッファー内のすべてのテキストを選択できます。 markMode アクションを使うと、ターミナルのカーソル位置に選択範囲を作成する特殊なモードを切り替えることができます。 マーク モードでは、次の構成不可能なキー バインドを使ってカーソルを動かすことができます。

キー バインド 結果
方向キー 指定した方向に 1 文字ずつ移動します
Ctrl + ← 前の、または既存の単語の先頭に移動します
Ctrl + → 次の、または既存の単語の末尾に移動します
Home 行頭に移動します
End 行末に移動します
PageUp 1 ページ上に移動します (ビューポート)
PageDowin 1 ページ下に移動します (ビューポート)
Ctrl + Home バッファーの先頭に移動します
Ctrl + End バッファーの末尾に移動します
Enter 現在の選択範囲をコピーする

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

マーク モードかどうかにかかわらず、次の構成不可能なキー バインドを使って、既存の選択範囲を拡張できます。

キー バインド 結果
Shift + 方向キー 指定した方向に 1 文字ずつ拡張します
Ctrl + Shift + ← 前の、または既存の単語の先頭まで拡張します
Ctrl + Shift + → 次の、または既存の単語の末尾まで拡張します
Shift + Home 行頭まで拡張します
Shift + End 行末まで拡張します
Shift + PageUp 1 ページ上まで拡張します (ビューポート)
Shift + PageDown 1 ページ下まで拡張します (ビューポート)
Ctrl + Shift + Home バッファーの先頭まで拡張します
Ctrl + Shift + End バッファーの末尾まで拡張します

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

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

選択範囲ができたら、いくつかのオプションがあります。 Esc キーを使って選択範囲をクリアすることができます。 または、ほとんどのキー入力によって選択範囲はクリアされ、キー イベントは基礎のシェルに直接渡されます。 選んだテキストを実際に使う場合は、copy アクションを使ってクリップボードにコピーできます。

選んだテキストをコピーする

前述のとおり、選んだテキストは右クリックまたは copy アクションでコピーできます。 ただし、テキストのコピーに関する設定はいくつかあり、カスタマイズすることができます。

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

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

注意

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

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

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

単語区切り記号をカスタマイズする

前に説明したように、ダブルクリックと Ctrl + Shift + 方向キー (マーク モードのときは Ctrl + 方向キー) を使うと、単語単位で移動できます。 ただし、単語を区切ることができるのは空白だけではありません。 この単語の境界は、wordDelimiters グローバル設定を使ってカスタマイズできます。