Как выделить несколько блоков текста в iterm2 с помощью tmux?

В базовом iterm2 множественный выбор просто, просто удерживайте клавишу Command, и перетаскивание или двойной щелчок сделают свое дело. У нас будет отдельный выделенный текст, примерно так:

введите описание изображения здесь

то есть я могу одновременно выделить "На работе" и "инверсия".

Но это не работает в сеансе tmux с iterm2, удерживайте командную клавишу и перетаскивание ничего не выделит или не выделит.


Спасибо за любые предложения.


РЕДАКТИРОВАТЬ: миллион спасибо @Simba за подробное объяснение. Но не могу найти переключатель "отчет о мышке", дело в версии item2 или я что-то пропустил?

введите описание изображения здесь


РЕДАКТИРОВАТЬ2: @Simba Я нашел поле (Сессия -> Редактировать сеанс -> Терминал -> Включить отчеты с мышью), но снимите флажок, он не работает, даже после того, как я перезапускаю itemr2, он проверяется снова каждый раз LOL


EDIT3: после нескольких перезапусков теперь он работает, я понятия не имею, что происходит ... Спасибо! @Simba


person hedleyyan    schedule 29.08.2019    source источник


Ответы (1)


«удерживайте командную клавишу и перетаскивайте», чтобы сделать несколько копий, - это особенность терминала iTerm2. Внутри tmux действие копирования обрабатывается tmux, а tmux не поддерживает эту функцию множественного копирования.

Способ 1

Альтернативный способ: используйте режим интеграции tmux iTerm2, запустив сеанс tmux с tmux -CC.

После этого действие перетаскивания определяется непосредственно iTerm2. Вы можете скопировать содержимое в iTerm2, удерживая «Command», как если бы tmux не использовался.

Способ 2

Cmd + Drag привязан к непрерывному выделению в iTerm2. Так как tmux перехватывает «отчеты от мыши», чтобы использовать эту функцию (непрерывный выбор), вам необходимо временно отключить «отчеты с помощью мыши».

  1. Снимите флажок «Сессия -> Состояние терминала -> Отчеты мыши».
  2. Сделайте непрерывный выбор с помощью Cmd + Drag.
  3. Включите «Отчеты мыши», чтобы tmux работал правильно.

Недостаток: чтобы использовать непрерывный выбор, необходимо отключить "Отчеты с помощью мыши". Но как только "отчеты с помощью мыши" отключены, вы не сможете прокрутить до предыдущей или следующей страницы. Это означает, что вы можете делать непрерывный выбор на текущей странице.

Цитата из FAQ по iTerm2

В: Какие клавиши-модификаторы влияют на пометку выделения для копирования и вставки? О: Если вы удерживаете клавиши-модификаторы во время выбора, поведение меняется по-разному:

  • Alt / Option: создание отчетов с помощью мыши будет отключено. Если вы используете vim и не можете сделать выбор, попробуйте удерживать клавишу alt и посмотрите, исправит ли это это.
  • Alt + Cmd: сделать прямоугольное выделение.
  • Shift: расширить существующее выделение.
  • Alt + Shift: расширить прямоугольное выделение.
  • Cmd: Сделать прерывистый выбор

К сожалению, клавиша-модификатор выделения Alt + Cmd привязана к «прямоугольному выделению» и не кажется настраиваемым. Но вы можете привязать ярлык, чтобы переключить "отчет с помощью мыши".

person Simba    schedule 11.09.2019
comment
да, режим интеграции работает, но отправить команду iterm2 - это проблема, возможно любое решение без режима интеграции? - person hedleyyan; 17.09.2019
comment
@hedleyyan Это невозможно. AFAIK, множественный выбор не поддерживается tmux. - person Simba; 17.09.2019
comment
Я знаю, что в iterm2 tmux удерживание клавиши alt (option) может превратиться в модель ярлыка iterm2, поэтому удерживая клавишу alt и двойной щелчок, можно выбрать слово так же, как простой двойной щелчок в iterm2. Поэтому я пришел к мысли, что удержание клавиши alt + command в tmux равно удержанию клавиши command в iterm2. Однако удержание клавиши alt + command - это ярлык высокого уровня для item2 и терминала, который представляет собой выбор прямоугольника ... поэтому я задаю этот вопрос: apple.stackexchange.com/questions/367832/. Кажется, вы хорошо знакомы с tmux и item2, есть предложения? XD @Simba - person hedleyyan; 17.09.2019
comment
@hedleyyan Извините, Alt + Cmd кажется жестко запрограммированным, вам лучше открыть проблему на gitlab.com/gnachman/ iterm2 / issues о том, как отключить эту функцию прямоугольного выделения. Кстати, мой ответ был обновлен. - person Simba; 17.09.2019