Термінал Mac OS X: підтримка миші?


75

Чи є нативна опція (наприклад, без встановлення додаткових програм / пакунків / плагінів), щоб увімкнути підтримку миші в додатку Terminal?

Насправді я дуже багато використовую vimз можливістю set mouse=a(активізуючи функції миші).

Але схоже, що термінал підтримує не всі функції xterm.

Здається, (після деякого гуглінгу), що в Терміналі колись була підтримка миші, але мені цікаво, куди це пішло.

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


Що підтримує xterm, який не підтримує Terminal? Копіювати на виділення та середню?
Ігнасіо Васкес-Абрамс

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

2
копіювати на виділення та середню пасту їли пов'язані з терміналом - оскільки термінал не робить їх - ви можете спробувати iTerm для цих користувачів
користувач151019

@Mark: Я перевірив це і сподобалось. Хоча Термінал обробляє набагато кращі сміливі символи. У будь-якому випадку, дякую.

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

Відповіді:


104

Я знайшов відповідь!

Друг сказав мені трюк, це так просто, що мені соромно.

Просто натисніть клавішу alt і натисніть! (з підтримкою миші, раніше активованою в vim)


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

Дивіться відповідь Кріса Пейдж .


11
Я був користувачем живлення ОС X для того, що відчуваєш півстоліття, і я цього ніколи не знав. Я надзвичайно вражений. Я б хотів, щоб я міг дати вам сто голосів замість одного.
ELLIOTTCABLE

4
У будь-якому разі відключити вимогу використання alt?
philfreo

8
Для мене це все одно. Часто натискаю на персонаж, і курсор закінчується десь в іншому місці, наче біля нього. Він також не працює для переключення вкладок у vim. Також, здається, він не працює настільки добре для перемикання вікон у tmux.
andyortlieb

1
@andyortlieb: тому я перейшов до iTerm2.
avetis.kazarian

2
ніякої праці для мене.
Майк Граф

23

Як і в OS X 10.11 El Capitan, термінал підтримує миші.

Зауважте, що програми, що підтримують функцію Mouse Reporting, повинні вмикати її за допомогою послідовностей евакуації, а більшість програм, що підтримують функцію Mouse Reporting, повинні бути налаштовані для її включення. Наприклад, у Vim ви повинні виконати set mouse=a(як правило, у своєму ~/.vimrcфайлі).

Термінал підтримує повідомлення про три кнопки миші та колесо прокрутки. Для імітації натискання кнопки-три з пристроєм з двома кнопками можна скористатися командою «Клацнути правою кнопкою миші». (Клацніть команду "Клацніть правою кнопкою миші" також виберіть " Правка"> "Вибір вставлення", коли "Звітування про мишу" вимкнено, тому "Середній клік" вставить останній останній текст, незалежно від того, використовуєте ви звітність миші чи ні.)

Якщо увімкнено функцію "Мишельне звітування", Option ⌥клавіша модифікатора відображається на Meta для натискання та прокрутки, і на неї не впливає налаштування клавіатури "Використовувати параметр як мета-клавіша", що стосується лише введення клавіатури.

Щоб тимчасово обійти функцію Mouse Reporting та взаємодіяти з поданням терміналу, натисніть клавішу Fnмодифікатора під час клацання або прокрутки. Також є пункт меню Перегляд> Дозволити звітування про миші (⌘R), який можна використовувати для обходу звітів про миші протягом більш тривалих періодів часу або якщо ключ модифікатора недоступний.

Зауважте, що при ввімкненому режимі миші звіт заміняє існуючу поведінку терміналу Option-Click (яка надсилає клавішу зі стрілкою для переміщення курсору) та поведінку "Прокручування альтернативного екрана". Крім того, новий пункт меню " Дозволити миші звітності" та Fnмодифікатор також застосовуються до "Прокручування альтернативного екрана", щоб дозволити тимчасово обійти цю поведінку.


"Дозволити звітування про миші" - це відповідь для мене. iTerm2 мала цю функцію, але я просто хочу використовувати вбудований додаток Terminal для його легкої ваги.
Кей

@Kay: Я радий, що вам це подобається, але, щоб зрозуміти, пункт меню "Дозволити звітування про миші" не вмикає звітність про миші. Це лише команда, яка дозволяє тимчасово взаємодіяти з представленням терміналу, а не надсилати введення миші віддаленій програмі, коли ввімкнено функцію Mouse Reporting. Програми дозволяють звітувати з миші, надсилаючи керуючі послідовності до терміналу.
Кріс Пейдж,

12

Як альтернатива використанню клавіші Alt для встановлення курсору in vi за допомогою терміналу OS X, я хотів би запропонувати використовувати iTerm 2:

Я хотів підтримати мишу в Terminal vi (Mac OS X 10.7 Lion), але немає підтримки для прокрутки за допомогою колеса прокрутки. Я перейшов з терміналу на iTerm 2, який підтримує прокрутку колеса прокрутки, і вам не потрібно утримувати клавішу 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, однак.
Стів HHH

У MacOS Mojave (10.14) у мене немає проблем із використанням миші in vim за допомогою OSX-терміналу.
гагарин

1

Здається, що в OS X 10.4 (я не впевнений у 10.5) можна включити підтримку миші. Відкрийте термінал, а потім натисніть Налаштування вікна. Клацніть Емуляція зі спадного списку, а потім встановіть прапорець "Клацніть, щоб розташувати курсор".


1
Насправді в налаштуваннях терміналів на 10.5 немає, наприклад, на "Параметри вікна" на 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 року) стверджує, що вона додає наступні функції до стандартної програми Terminal OS X:

  • Звітування про кнопку миші.
  • Звіт про колесо прокрутки миші.
  • Імітація прокрутки коліс миші для програм на кшталт менше (тобто будь-якої програми на повноекранному режимі, що використовує режим клавіші курсору програми).
  • Інтеграція профілю терміналів (з діалоговим вікном налаштувань).

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

(Caveat: Натискання / перетягування в режимі копіювання tmux працює не так, як я очікував.)


Ще одне застереження - я помітив, що після першого запуску терміналу після входу в систему підтримка миші взагалі не працює, поки я не вийду з терміналу і не запускаю його знову.
Майкл

@Michael: Ваш симптом звучить звично в старому випуску SIMBL 13 . Оновлення SIMBL, ймовірно, це виправить. (0.9.9 або 0.9.9b)
netj

спробував 0.9.9, не вийшло. спробував AppleScript у коментарі №23, отримав "Очікуваний кінець рядка, але знайшов ідентифікатор" (змінив "Snow Leopard" на "Lion", але я запускаю Lion ...)
Майкл

також спробував 0.9.9b (виправлено для Лева), і це теж не виправить. все одно доведеться перезапустити термінал, перш ніж він прийме події миші.
Майкл

0

Ви можете налаштувати емуляцію xterm за розширеними налаштуваннями, принаймні в терміналі 2.4 (OS X 10.9.3). Це дозволило мені належну підтримку миші.


Це не працює (будь ласка, не забудьте протестувати з vim та tmux).
avetis.kazarian
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.