Mac OS X Terminal: поддержка мыши?


75

Есть ли встроенная опция (т.е. без установки дополнительных программ / пакетов / плагинов) для включения поддержки мыши в приложении «Терминал»?

На самом деле, я часто использую vimс опцией set mouse=a(активация функций мыши).

Но похоже, что Terminal не поддерживает все функции xterm.

Похоже (после некоторого поиска в Google), что у Терминала была когда-то поддержка мыши, но мне интересно, куда это делось.

NB: я действительно хочу поддержку мыши в терминале, не только для vim, поэтому, пожалуйста, не предлагайте MacVim:]


Что поддерживает xterm, а терминал - нет? Копирование на выделении и вставка в середине?
Игнасио Васкес-Абрамс

Мышь репортажная. Это настоящая поддержка мыши. Насколько я знаю, копирование при выделении, вставка в середине и т. Д. На самом деле не имеют отношения к терминалу.

2
copy-on-highlight и middle-paste ели связанные с Терминалом - в этом Терминал их не делает - вы можете попробовать iTerm для них
user151019

@Mark: я проверил это и понравилось. Хотя терминал обрабатывает гораздо лучше смелых символов. В любом случае, спасибо.

2
@Arjan: некоторые интерактивные CLI-приложения поддерживают мышь; например, позиционирование текстового курсора в vim.
ELLIOTTCABLE

Ответы:


104

Я нашел ответ!

Друг рассказал мне трюк, это так легко, что мне стыдно.

Просто нажмите клавишу Alt и нажмите! (с поддержкой мыши, ранее активированной в vim)


ОБНОВЛЕНИЕ для OSX 10.11 El Capita

Пожалуйста, смотрите ответ Крис Пейдж .


11
Я был опытным пользователем OS X в течение полувека, и я никогда не знал этого. Я очень впечатлен. Я хотел бы дать вам сто голосов вместо одного.
ELLIOTTCABLE

4
В любом случае отключить требование к использованию alt?
Philfreo

8
Это не то же самое, для меня в любом случае. Часто я нажимаю на символ, и курсор оказывается где-то еще, вроде как рядом с ним. Это также не работает для переключения вкладок в vim. Это также, кажется, не очень хорошо работает для переключения окон в tmux.
andyortlieb

1
@andyortlieb: вот почему я перешел на iTerm2.
avetis.kazarian

2
не работает для меня.
Майк Граф

23

Начиная с OS X 10.11 El Capitan, терминал поддерживает отчеты мыши.

Обратите внимание, что программы, поддерживающие отчетность мыши, должны включать ее через escape-последовательности, и что большинство программ, поддерживающих отчетность мыши, должны быть настроены для ее включения. Например, в Vim вы должны выполнить set mouse=a(обычно в вашем ~/.vimrcфайле).

Терминал поддерживает сообщения о трех кнопках мыши и колесе прокрутки. Чтобы смоделировать нажатие кнопки три с помощью устройства с двумя кнопками, вы можете использовать Command-Right-Click. (Команда «Щелчок правой кнопкой мыши» также выполняет « Правка»> «Вставить выделение», когда отключено создание отчетов с помощью мыши, поэтому нажатие средней кнопкой мыши вставит последний выделенный текст независимо от того, используете ли вы отчеты с помощью мыши или нет.)

Когда включена функция «Отчетность мыши», Option ⌥клавиша-модификатор сопоставляется с мета-меткой для щелчка и прокрутки, и на нее не влияет параметр «Использовать как мета-ключ», который применяется только к вводу с клавиатуры.

Чтобы временно обойти отчеты мыши и взаимодействовать с видом терминала, нажмите клавишу- Fnмодификатор, нажимая или прокручивая. Существует также пункт меню « Просмотр»> «Разрешить отчеты мыши» (⌘R), который можно использовать для обхода отчетов мыши в течение более длительных периодов времени или если клавиша-модификатор недоступна.

Обратите внимание на то, что при включении Отчеты мыши заменяют существующее поведение Терминала - Option-Click (который отправляет ввод с помощью клавиши со стрелкой для перемещения курсора) и поведение «Прокрутка альтернативного экрана». Кроме того, новый пункт меню « Разрешить создание отчетов для мыши» и Fnмодификатор также применяются к «Пролистать альтернативный экран», чтобы позволить вам временно обойти это поведение.


«Allow Mouse Reporting» - это ответ для меня. iTerm2 имел эту функцию, но я просто хочу использовать встроенное приложение Terminal для его легкого веса.
Кей

@Kay: Я рад, что вам это нравится, но, для ясности, пункт меню «Разрешить отчеты мыши» не включает отчеты мыши. Это просто команда, позволяющая вам временно взаимодействовать с представлением терминала, вместо того, чтобы отправлять ввод мыши в удаленную программу, когда включена функция «Отчетность мыши». Программы позволяют сообщать мышь, отправляя контрольные последовательности в терминал.
Крис Пейдж

12

В качестве альтернативы использованию Alt-click для установки курсора в vi с OS X Terminal, я хотел бы предложить использовать iTerm 2:

Мне нужна была поддержка мыши в Terminal vi (Mac OS X 10.7 Lion), но прокрутки с помощью колеса прокрутки нет. Я закончил тем, что переключился с Терминала на iTerm 2, который поддерживает прокрутку колеса прокрутки vi, и вам не нужно удерживать нажатой клавишу alt, чтобы установить курсор.

Если вы не используете некоторые из более продвинутых функций в приложении Lion's Terminal , вы можете быть весьма довольны iTerm 2.

Изменить : Чтобы включить поддержку мыши в Vim при использовании iTerm 2, добавьте следующую строку в ваш .vimrc:

:set mouse=a

Как вы можете прокрутить вниз, используя колесо мыши? Он просто поднимается вверх по экранному буферу, и вы можете получить это в Terminal.app, отключив использование альтернативного экранного буфера, например, в vim using set t_ti= t_te=в вашем ~/.vimrc.
Даниэль Бек

Мне нужно было настроить :set mouse=aв моем .vimrc - это нормальный способ включить поддержку мыши в Vim, но кажется, что ввод с мыши съедается Terminal.app. Однако в iTerm2.app прокрутка вверх и вниз в текстовом файле с помощью колеса прокрутки работает идеально.
Стив ХХХ

В MacOS Mojave (10.14) у меня нет проблем с использованием мыши в vim с использованием терминала OSX.
Гагарина

1

Похоже, что в OS X 10.4 (я не уверен насчет 10.5) вы можете включить поддержку мыши. Откройте Терминал, затем нажмите «Настройки окна». В раскрывающемся списке выберите «Эмуляция», а затем установите флажок «Щелкните, чтобы разместить курсор».


1
На самом деле, нет ничего такого, как «Настройки окна» в настройках терминала на 10.5, ни на 10.6. Все, что вы можете сделать на вкладке «Окно», это изменить цвет фона, размер прокрутки, заголовок и размер окна.

1
Это должно быть только в 10.4 тогда ...

1
Это не совсем поддержка мыши. Это позволит вам щелкнуть мышью на части терминала, и Terminal.app посчитает, сколько символов линии вверх / вниз / влево / вправо необходимо для перемещения курсора, а затем наберет их. Очень полезно, но не то, что хотел ОП, я не думаю.
Джош

1

Обратите внимание, что Mac OS X имеет xterm в дополнение к Terminal.app. Я не могу сказать по вашему вопросу, если вы знали об этом. Но если у вас установлен пакет X11, вы можете запустить окно xterm, и поддержка мыши работает нормально.


0

MouseTerm, кажется, идеальный плагин SIMBL для тех, кто хочет достойную поддержку мыши в своих терминалах Mac OS X. По состоянию на май 2013 года в последней версии (1.0b1, выпущенной в июле 2011 года) говорится, что она добавляет следующие функции к стандартному приложению OS X Terminal:

  • Отчет по кнопкам мыши.
  • Сообщение мыши о колесе прокрутки.
  • Имитация прокрутки колесика мыши для таких программ, как поменьше (т.е. для любой полноэкранной программы, в которой используется режим курсора клавиш)
  • Интеграция профиля терминала (с диалогом настроек).

Я использую tmux и vim вместе с ним, и это позволяет мне не только щелкать (без ключа опции!), Но также прокручивать и перетаскивать их внутри с небольшой настройкой: например, :set mouse=aдля vim и tmux set-window-option mode-mouse on. Легко переключать отчеты мыши (с помощью одной комбинации клавиш ⇧⌘Mили из меню оболочки), так что нечего терять при установке.

(Предупреждение: щелчок / перетаскивание в режиме копирования tmux работает не так, как я ожидал.)


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

@ Майкл: Ваш симптом звучит знакомо старому выпуску SIMBL № 13 . Обновление SIMBL, вероятно, исправит это. (0,9,9 или 0,9,9b)
нетдж

пробовал 0.9.9, не сработало. попробовал AppleScript в комментарии № 23, получил «Ожидаемый конец строки, но нашел идентификатор» (изменил «Снежный барс» на «Лев», но я использую Lion ...)
Майкл

также пробовал 0.9.9b (исправлено для Lion), и это тоже не исправляет. все равно придется перезапустить Терминал, прежде чем он примет события мыши.
Майкл

0

Вы можете настроить эмуляцию xterm в дополнительных настройках, по крайней мере, в Терминале 2.4 (OS X 10.9.3). Это позволило мне правильно поддерживать мышь.


Это не работает (пожалуйста, не забудьте проверить с vim и tmux).
avetis.kazarian
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.