Выбор текста в терминале Windows

Выбор текста прост в терминале Windows, но терминал предлагает множество дополнительных функций, которые делают выделение текста еще лучше.

Поддержка мыши

Щелкните левой кнопкой мыши и перетащите мышь, чтобы создать выделение. Дважды щелкните выделение по слову, а тройной щелчок расширяется по строке.

При удержании клавиши ALT создается выбор блока (в отличие от выделения строки). Блочные выделения создают прямоугольную область, которая не переходит на следующую строку.

Если вы удерживаете клавишу SHIFT , вы можете явно развернуть выделение до определенной точки в терминале без необходимости щелкнуть и перетащить его.

После выбора у вас есть несколько вариантов. Один щелчок левой кнопкой мыши отменяет выбор. Если вы хотите использовать выделение, щелкните правой кнопкой мыши, чтобы скопировать выделенный текст в буфер обмена и очистить выделение. Если снова щелкнуть правой кнопкой мыши, содержимое буфера обмена вставляется в терминал.

Замечание

Терминал Windows поддерживает ввод мыши в приложениях подсистемы Windows для Linux (WSL), а также в приложениях Windows, использующих входные данные виртуального терминала (VT). Эта поддержка означает, что такие приложения, как tmux и Midnight Commander, распознают, когда вы выбираете элементы в окне терминала. Если приложение находится в режиме мыши, можно удерживать клавишу SHIFT , чтобы выбрать, а не отправлять входные данные VT.

Поддержка клавиатуры

Выбор можно создать с помощью selectAll или markMode действий. Действие selectAll выбирает весь текст в буфере. Действие markMode переключает специальный режим, в котором выделение создается в позиции курсора в терминале. При использовании режима разметки можно использовать следующие не настраиваемые привязки ключей для перемещения курсора вокруг:

Привязка ключа Result
Клавиши со стрелками Перемещение по символу в указанном направлении
CTRL+LEFT Переход к началу предыдущего или существующего слова
CTRL+RIGHT Переход к концу следующего или существующего слова
Дом Переход к началу строки
Конец Переход к концу строки
Pgup Перемещение по странице (окно просмотра)
Pgdn Перемещение вниз по странице (окно просмотра)
CTRL+Home Переход к началу буфера
CTRL+END Переход к концу буфера
Введите Копирование активного выделения

При использовании режима разметки можно использовать tab или SHIFT+TAB , чтобы перейти к следующей или предыдущей гиперссылке в буфере. Терминал Windows может автоматически обнаруживать гиперссылки, если experimental.detectUrls он включен.

Независимо от того, в режиме разметки можно развернуть существующий выбор с помощью следующих не настраиваемых привязок ключей:

Привязка ключа Result
Клавиши SHIFT +СТРЕЛКА Развернуть по символу в указанном направлении
CTRL+SHIFT+ВЛЕВО Развертывание до начала предыдущего или существующего слова
CTRL+SHIFT+ВПРАВО Развернуть до конца следующего или существующего слова
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 скопировать текст, не закрывая выделение текста.
  • Копирование в виде одной строки
    • singleLine Используйте параметр в действии copy для копирования текста в виде одной строки.
  • Копирование с помощью последовательностей элементов управления
    • Используйте параметр withControlSequences в действии copy, чтобы включить управляющие последовательности escape-кодов ANSI в скопированный текст.
  • Удаление конечных пробелов из выделенных блоков
    • Используйте параметр trimBlockSelection в глобальных настройках, чтобы удалить пробелы в конце выделенного блока.

Используйте параметр copyOnSelect глобальных настроек для автоматического копирования нового выбранного текста в буфер обмена. Если этот параметр включен, при наличии выделенного фрагмента щелкните правой кнопкой мыши копии терминала и вставьте выделенный текст в терминал.

Замечание

Если этот параметр включен copyOnSelect, изменение выделения с помощью клавиатуры не автоматически копирует только что выбранный текст. Необходимо вручную скопировать текст с помощью copy действия или щелкнув правой кнопкой мыши терминал.

Настройка внешнего вида выбранных элементов

Цветовые схемы позволяют настроить цвет выделения с помощью selectionBackground свойства в цветовой схеме. Кроме того, можно переопределить цвет выделения для определенного профиля с помощью selectionBackground параметра профиля.

Настройка разделителей слов

Как упоминалось ранее, двойным щелчком и используя комбинации клавиш CTRL+SHIFT + СТРЕЛКИ (или КЛАВИШИ CTRL + СТРЕЛКИ при использовании режима разметки), можно перемещаться по словам. Однако слова могут быть разделены более чем просто пробелами. Эти границы слов можно настроить с помощью глобального wordDelimiters параметра.