Копировать при выборе, вставить по среднему клику в Mac OS X?


93

Есть ли способ придать OS X обычное поведение X-windows, когда выделение текста в любом приложении автоматически копирует его в буфер обмена, а средняя кнопка мыши автоматически вставляет его?

command+ C, command+ VНемного раздражает.


3
Ну, это работает как ожидалось в X ... не знаю решения в кварце.
dmckee

1
шишка тоже для меня ... было бы здорово иметь это
CharlesB

2
Я просто хотел задать тот же вопрос. Я недавно начал работать над MacOS X на своем рабочем месте, и я давно пользуюсь Linux, это чертовски черта функции Linux, которой мне не хватает в MacOS.
Паткос Чаба

4
Вы имеете в виду, что хотите отказаться от возможности заменить выделенный текст тем, что находится в буфере обмена?
Spiff

1
Еще одним доказательством Linux превосходит Mac OS.
Блаженный Компьютерщик

Ответы:


16

Это уже обсуждалось (и отвечалось) на apple.stackexchange.com . Принятым ответом в этом обсуждении было использование Better Touch Tool.

Однако все те решения, которые предлагают использовать какой-либо инструмент для сопоставления щелчка мыши с Cmd-V, не полностью имитируют поведение X, где у вас может быть разный контент в буфере, управляемом мышью, и буфере, управляемом клавиатурой (т.е. вы можно вставить две разные строки в зависимости от того, нажимаете ли вы средним щелчком мыши или нажатием CTRL-V).


24
И более проблематично. У него нет функции «выделять текст для копирования».
Nifle

10

Только для архивов: то, что вы хотите, действительно работает в Terminal , но только в том же окне Terminal:

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

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

перетащить

Конечно, Терминал - это только одна из многих программ. Но для меня это единственное место, где я на самом деле хочу такое поведение, хотя бы из-за комментария Спиффа о возможности замены (мыши) выделенного текста на то, что находится в буфере обмена.


На самом деле копирование / перетаскивание текста прекрасно работает для меня в любом редакторе (например, в терминале, BBEdit, в поле ввода текста на этой странице и т. Д.) ... вы можете комбинировать перетаскивание с Exposé и CMD-tab. Кроме того, если вы хотите «скопировать в буфер обмена», вы можете просто перетащить на рабочий стол, и он создаст текстовую вырезку, которую затем можно будет перетаскивать в другие места (это в некотором смысле похоже на визуальный буфер обмена).
r00fus

6

Если вам просто нужно это для терминала, то вы можете установить iTerm2, который является терминалом, в котором X Window вырезано и вставлено.


1
Как мне скопировать-выбрать через Терминал <-> Браузер <-> Электронная почта?
Александр Левчук

Как я уже сказал, для терминала в / из чего-то другого
user151019

К сожалению, iTerm реагирует намного медленнее.
iltempo

2
Для записи, iTerm2 (преемник iTerm) можно найти здесь: iterm2.com
deizel 21.12.12

2

Я только что попробовал Терминал (OS X El Capitan, Версия 10.11.5). Процесс, который я использовал, таков:

  1. Выделите текст
  2. Удерживая 1 палец, перетащите немного вверх (выделенный текст переместится, и появится зеленый «+»)
  3. Отпустите и выделенный текст появится в командной строке

Отлично! Работает на моей Сьерре (10.12.6).
Бьярте Брандт

1

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ : Я не проверял это, потому что у меня нет Mac. Но содержание было слишком большим, чтобы оставлять комментарии. Итак, я выкладываю это как ответ.

Я являюсь пользователем Windows и реализовал точно такую ​​же функцию в Windows, используя скрипт, написанный для программы Autohotkey.

Теперь, согласно этому вопросу, IronAHK запускает сценарии AHK на Mac.

Вот тот, который я использую для окон (Конечно, вам придется много раз его настраивать, чтобы он работал):

    cos_mousedrag_treshold := 20 ; pixels


#IfWinNotActive ahk_class ConsoleWindowClass

~lButton::
  MouseGetPos, cos_mousedrag_x, cos_mousedrag_y
  keywait lbutton
  mousegetpos, cos_mousedrag_x2, cos_mousedrag_y2
  if (abs(cos_mousedrag_x2 - cos_mousedrag_x) > cos_mousedrag_treshold
    or abs(cos_mousedrag_y2 - cos_mousedrag_y) > cos_mousedrag_treshold)
  {
    wingetclass cos_class, A
    if (cos_class == "Emacs")
      sendinput !w
    else
      sendinput ^c
  }
  return

~mbutton::
  WinGetClass cos_class, A
  if (cos_class == "Emacs")
    SendInput ^y
  else
    SendInput ^v
  return

#IfWinNotActive


;; clipx
^mbutton::
  sendinput ^+{insert}
  return

Скрипт кредита идет в этот пост. Попробуйте поэкспериментировать и прокомментировать, если вы заставите его работать. Я постараюсь помочь как можно больше.

А пока взгляни на это . Но я не думаю, что он достаточно продвинут для той функции, которую вы желаете.


Это скрипт autohotkey для macOS нет?
Уильям

1

Как давний пользователь Linux, я отчаянно искал такую ​​функциональность в OSX. Марк прав - iTerm - это ответ плюс некоторые настройки в настройках X11. Посетите здесь для получения дополнительной информации.


1

Я тоже не нашел родного пути. Попробовав разные вещи, я использовал TotalTerminal .

Это добавляет некоторые дополнительные функции в приложение терминала. Помимо copy-on-select вы можете установить глобальный ключ для вызова терминала в любое время.


1

Я использую BetterTouchTool и настроил его для эмуляции средней кнопки мыши в приложении «Терминал» одним щелчком мыши.


0

Вы можете попробовать поиграть с настройками мыши, чтобы увидеть, позволяет ли драйвер назначать функцию вставки для среднего щелчка. Если это не так, попробуйте заглянуть в USB Overdrive .

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


0

У меня нет Mac, поэтому я не могу проверить это, и содержание было слишком длинным для простого комментария, поэтому я публикую его как ответ. Может быть, это окажется полезным для других.

Solution1:

Зайдите в настройки X11 - выделите «эмулировать 3-кнопочную мышь».

Теперь средний щелчок = опция + щелчок.

Подсветка / вставка будет работать так же, как в Linux.

Solution2:

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

  • 1 палец правой кнопкой мыши = cmd c (копия) и
  • 2 пальца = cmd v (вставить)

Это на один шаг больше, чем выделение = копировать, но все же предпочтительнее, чем сочетания клавиш.

Из хинфорумов Macworld .


-1

Я знаю, что это не совсем то же самое, но если вы выделите текст и щелкните по нему правой кнопкой мыши, у вас есть возможность скопировать. Как только что-то окажется на картоне, можно вставить и правый клик.

Я дурачился с моей многокнопочной мега-мышью Logitech и не мог сделать ничего, в точности то, что вы описываете, даже если один из вариантов - кнопка «среднего щелчка».

Тео

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