Отключить прокрутку истории команд в терминале Mac с помощью мыши.

Вопрос или проблема

Недавно я начал использовать tmux в терминале на моем Mac. Однако теперь, когда я нахожусь в сеансе tmux и прокручиваю вверх или вниз с помощью мыши, он прокручивает мою историю команд вместо прокрутки терминального окна. Как отключить эту функцию и вернуть прокрутку мышью к стандартному поведению?

Выполните эту команду:

$ tput rmcup

Скорее всего, вы (либо локально, либо удаленно) запускали команду (например, vim, или top, или многие программы, использующие библиотеки, подобные ncurses), которая использует режим “альтернативного экрана” терминала. Когда он активен, многие программы в терминале переназначают действие прокрутки мышью на стрелки, так как прокрутка локального дисплея обычно мало полезна. Если это приложение завершилось некорректно, ваш терминал все еще мог считать, что находится в этом режиме.

Эта команда сбрасывает это и должна восстановить вашу возможность прокрутки.

Полагаю, вы используете iTerm?

Причина, вероятно, в том, что ваш терминал отправляет команды клавиш Вверх и Вниз для колесика мыши, когда приложения находятся в “режиме позиционирования курсора”, но сами не запрашивают мышь, как это происходит в tmux с отключенной опцией mouse.

Возможно, вы можете настроить терминал не делать этого, но это маловероятно. Однако, большинство терминалов позволяют вам удерживать Shift или Ctrl или какой-либо другой модификатор для выбора или прокрутки, так что вы можете попробовать это.

Вы обнаружите, что при работе с tmux прокрутка терминала ненадежна, потому что tmux мало контролирует ее. Рекомендуемый способ копирования текста при использовании tmux – это включение поддержки мыши в tmux (установить -g mouse on) и использование режима копирования.

Как упомянул @Nicholas Marriott в комментарии, строка set-option -g mouse on в вашем файле .tmux.conf вероятно сделает то, что вы хотите. (Убедитесь, что вы используете последнюю версию tmux.) Это устанавливает глобальную опцию, которая включает интерактивность с мышью.

Опция mouse также позволит tmux автоматически копировать текст при его выделении, а также вы сможете кликать по панелям tmux и перетаскивать их границы.

Это может также иметь несколько побочных эффектов, так что вы, конечно, можете решить, хотите ли вы пойти по этому пути:

Прокрутка в tmux немного отличается от обычной прокрутки в терминальном эмуляторе. Например, я не уверен, как добиться приятного поведения “прокрутки до низа при вводе”, но кажется, что если нужно, вы можете заменить это быстрым ^C, чтобы вернуться к низу. (Это просто переходит к низу, если вы прокрутили вверх, и не выводит новую командную строку.)

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


Возможно, вам не нужен ответ на этот вопрос сейчас, судя по дате оригинального поста, но, надеюсь, это поможет кому-то. 🙂

В Настройках Терминала на вашем Mac перейдите в Профили -> [ваш профиль] -> Клавиатура и снимите галочку с чекбокса “Прокрутка альтернативного экрана”.

.

Ответ или решение

Отключение прокрутки истории команд с помощью мыши в терминале на Mac

Если вы столкнулись с тем, что в терминале вашего Mac, особенно в сеансе tmux, прокрутка с помощью мыши выводит вас по истории команд вместо прокрутки окна терминала, это обычно связано с настройками терминала в режиме "альтернативного экрана". Это явление чаще всего связано с использованием терминалов на основе библиотек, таких как ncurses, которые переназначают действия колесика мыши на команды верх и вниз для навигации по истории.

1. Причины и решения проблемы

Основная причина данного поведения кроется в том, что терминалы часто переходят в режим, где стрелки навигации управляют посредством колесика мыши, особенно в программах, работающих в "режиме курсора".

Чтобы вернуть прокрутку к стандартному поведению, вам потребуется выполнить в терминале команду:

   tput rmcup

Это действие восстановит настройки прокрутки, подходящие для вашего терминала.

2. Настройки терминала и tmux

  • Конфигурация tmux: Один из наиболее эффективных способов решения проблемы — это использование файла конфигурации .tmux.conf, добавив в него строку:

     set-option -g mouse on

    Это позволит вам полноценно использовать возможности мыши в tmux, в том числе копирование текста и изменение размеров панелей разбиения окон.

  • Дополнительные настройки терминала на Mac: Проверьте, чтобы в настройках вашего профиля в Терминале Mac (Терминал -> Профили -> [ваш профиль] -> Клавиатура) была снята галочка с опции "Прокрутка альтернативного экрана". Это также возвращает поведение терминала к стандартному.

3. Руководство по использованию прокрутки в tmux

Настройки и поведение tmux в отношении прокрутки и взаимодействия мыши могут отличаться от стандартного терминала. Прокрутка внутри терминала tmux не всегда поддерживается так, как ожидается, особенно в режиме просмотра текстовых файлов через пейджеры. Тем не менее, включение опции мыши в tmux позволит вам осуществлять взаимодействие наиболее гибко, хоть и могут возникнуть определенные ограничения, например, невозможность прокрутки в текстовых просмоторщиках.

Эти мероприятия помогут вам настроить работу теминала и tmux для получения нужной функциональности прокрутки, подходящей к вашим рабочим предпочтениям в системе macOS.

Оцените материал
Добавить комментарий

Капча загружается...