Можно ли скопировать, выделив и вставив средний щелчок на Mac OS X?


69

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

Сейчас я использую Mac, и мне интересно, смогу ли я добиться такого поведения в Mac OS X.


2
Я не могу поверить, что OSX не делает этого ... linux качается во многих отношениях
Скотт

Ответы:


19

Я написал небольшую бесплатную C-программу, которая делает что-то похожее на ответ Джиллигана. Всякий раз, когда вы перетаскиваете или выделяете текст, он копируется в буфер буфера обмена. Затем вы можете щелкнуть средней кнопкой мыши в любом окне, чтобы вставить его. Он называется «Macpaste» и на Github ( https://github.com/lodestone/macpaste ). Это работает глобально для каждой программы, которую я использую, у которой есть текстовые данные.

В iTerm2 отключите их средний щелчок в настройках, иначе вы получите двойную вставку.


Это круто! Так близко. Если бы у него был только отдельный буфер для хранения выделенного текста отдельно от обычно копируемого текста, он был бы почти максимально приближен к Linux. Хорошая работа
Райан Мартин

Это именно то, что я искал :-) Большое спасибо за то, что поделились!
Хосе Альфредо Ромеро Л.

4
Это работает, однако, к сожалению, он путается со средней кнопкой клика chrome / firefox / safari / anybrowser, чтобы открыть в новой вкладке. Есть ли способ обойти это?
lenooh

Не компилируется для меня -Undefined symbols for architecture x86_64
Питер Эрлих

Здорово! Я добавил ниже в моем .bashrc, и он отлично работает (xterm только там, где я его пропускаю): case "$ (ps -ef | grep macpaste | grep -v" grep "| wc -l)" в 0) ~ / bin / macpaste / macpaste> / dev / null & ;; 1) # все ок ;; *) kill -9 $ (pgrep macpaste) ~ / bin / macpaste / macpaste> / dev / null & ;; esac Единственная печальная вещь, что у меня нет средней кнопки на моем MM2, и я не хочу настраивать эти сторонние вещи ... Спасибо @remik!
Егор

15

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

Вот моя конфигурация для привязки касания тремя пальцами к ⌘V(так как это глобальный ярлык вставки. В качестве альтернативы вы можете выбрать из десятков других жестов трекпада и мыши для эмуляции команды вставки.

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


15
FWIW это решает только средний щелчок; Я не верю, что можно автоматически копировать выделенный текст без дополнительной команды. (За исключением приложений, которые специально предоставляют эту функцию, таких как iTerm2)
adamrmcd

7
И кто-нибудь уже придумал разумное решение для этого? Я скучаю по моей избранной пасте колеса так много!
Рубенс

4
Это безумие, что вы не можете получить такое поведение во встроенном терминале между окнами .... аааа, я скучаю по Linux.
DrCord

@Desphilboy Три вышеприведенных комментария в основном жалуются на отсутствие копирования при выборе, которое не решается вашим ответом.
Кайл Стрэнд

Это можно сделать только в терминале, и мой ответ относится только к терминалам. @KyleStrand
Desphilboy

6

Терминал macOS может выполнять копирование / вставку с двумя отдельными буферами:

  1. Буфер копирования / вставки, который используется совместно со всеми другими приложениями. Доступ к нему можно получить через CommandC/ CommandV.
  2. Отдельный буфер копирования / копирования, который используется только между терминалами (macOS). Его можно заполнить (скопировать) перетаскиванием по тексту мышью, двойным щелчком или ShiftCommandдвойным щелчком по именам файлов (нет CommandV). Содержимое этого буфера вставляется средней кнопкой мыши, ShiftCommandVили нажатием Command+ двумя пальцами.

4

Создайте следующий сервис Automator: введите описание изображения здесь

Назначьте это нажатием клавиши, например shiftcontrol](что-то вряд ли конфликтует с чем-либо). Затем используйте BetterTouchTool, чтобы назначить это нажатие средней кнопке мыши.

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


1
Это позволяет копировать, нажимая на среднюю мышь. ОП хочет выделить копию, выделив ее, а затем вставив ее средней кнопкой мыши
Ulysse BN

Есть ли способ получить средний щелчок для открытия новых вкладок в Chrome и эту функцию?
Уильям

2

После выделения текста в Терминале я могу щелкнуть средней кнопкой мыши, чтобы вставить его обратно в Терминал без использования сочетаний клавиш копирования / вставки. Это не похоже на работу, когда текст поступает из других приложений, т.е. Я не могу скопировать текст из TextEdit, а затем вставить в терминал с помощью среднего щелчка. Я использую Lion, и у меня не было настроек, чтобы настроить поведение по умолчанию. Я не уверен насчет других версий OS X.


1

Я попробовал скрипт Automator, предложенный Дэниелом. Это не работает для меня на OS X 10.10.

Мне удалось заставить BetterTouchTool (v 1.15) работать только для некоторых приложений. Нравится:

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

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

Гиллиган


1

Я не думаю, что есть способ вообще, но некоторые программы примут среднюю кнопку как вставку

например

  • Aquamacs - настроенный OSX emacs

  • iTerm2 - замена для терминала

Для более новых мышей / трекболов нажатие на колесо прокрутки действует как третья кнопка


7
Колесо прокрутки = средняя кнопка (в настоящее время она активна для большинства мышек).
installero

0

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

Вы можете перетаскивать внутри терминала или между приложениями.


0

Я хотел бы добавить, что если проблема, как и у меня, заключается в том, что вы не можете поместить в буфер обмена материал, выделенный в окне X-Quartz, секретом которого является выделение, а затем меню XQuartz- > Редактировать -> Копировать. Таким образом, он доступен для вставки в любое обычное приложение Mac OS.


0

В большинстве терминалов вы можете перетаскивать выделенный текст или, альтернативно, вы можете использовать: Shift + ⌘ + v

Это будет действовать как в Linux при нажатии средней кнопки мыши (копирование и вставка вместе)

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