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

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

Общая опция терминала Unix для выбора и последующего нажатия правой кнопкой мыши для вставки является лучшим изобретением после мыши. Есть ли способ сделать так, чтобы терминал в OS X делал это? Взломать исходный код? Установить что-то?

Доступен ли исходный код для терминала OS X публично?

Установите SIMBL, а затем установите TerminalCopyOnSelect.

  • Сначала вам следует установить SIMBL.
  • Скачайте архивированный файл плагина, который я упоминал выше, и распакуйте его.
  • Скопируйте извлеченный файл “TerminalCopyOnSelect.bundle” в директорию плагинов, которая находится по адресу ~/Library/Application Support/SIMBL/Plugins/
  • Завершите все процессы Terminal.app и перезапустите его.

В терминале выберите что-то, а затем в том же окне терминала сделайте одно из следующих действий:

  • щелкните и перетащите выделение (немного; указатель мыши изменится), и отпустите, чтобы вставить (нажмите Esc во время перетаскивания, чтобы отменить)

  • или: вставьте с помощью Shift-Command-V

  • или: вставьте с помощью средней кнопки мыши

iTerm, альтернатива терминалу, может это сделать.

iTerm 2 также имеет опцию копирования текста в обычный буфер обмена при выборе:

Вы можете переназначить среднюю кнопку для вставки из буфера обмена:

Как и в терминале, вы также можете использовать shift-command-V (Правка > Вставить специальное > Вставить выделение), чтобы вставить текст, который был выделен в другом месте в текущем окне.

Чтобы ответить на ваши 4 вопроса:

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

Нет, однако вы можете выбрать текст, который хотите, и перетащить его в командную строку.

Взломать исходный код?

Вероятно, это можно сделать с помощью обратного проектирования, но зачем заморачиваться с чем-то таким тривиальным, и тот факт, что это незаконно 😛

Установить что-то?

iTerm, как предлагает kbisset.

Доступен ли исходный код для mac терминала публично?

Нет, но исходный код iTerm доступен.

Вы можете запустить X11 сервер и использовать xterm. Всё уже в коробке.

Вы даже можете ввести xterm& в Terminal.app, и X11 будет автоматически запущен.

мой рабочий процесс

для копирования: cmd-shift-click – он копирует полные unix пути, как putty

для вставки: тройной щелчок по трекпаду, который работает как средняя кнопка мыши в xwindow или правая кнопка в putty (требуется: http://clement.beffa.org/labs/projects/middleclick/ )

Вы также можете установить TotalTerminal и насладиться горячим доступом к выпадающему терминалу в стиле Quake, который также имеет настройку копирования при выборе 🙂

TotalTerminal дополняет существующий терминал и не заменяет его, поэтому я считаю это более привлекательным решением, чем установка и использование другого приложения 🙂

Если вы попробовали принятый ответ; метод SIMBL TerminalCopyOnSelect, но неудачно с диалогом, показывающим:

Терминал 2.5 (v334) не был протестирован с плагином TerminalCopyOnSelect (null)(v0.1.0). В качестве предосторожности он не был загружен. Пожалуйста, свяжитесь с разработчиком плагина для получения дополнительной информации.

Это потому, что TerminalCopyOnSelect, который вы скачали, применяется только если версия пакета Terminal.app от 237 до 240.

Вы можете скачать и собрать его самостоятельно с помощью github.

git clone https://github.com/genki/terminalcopyonselect.git
cd terminalcopyonselect
open TerminalCopyOnSelect.xcodeproj
# отредактируйте Info.plist и установите MaxBundleVersion для SIMBLTargetApplications на 400, что достаточно для Terminal.app в MacOSX Yosemite
# нажмите сборку, и она скопирует TerminalCopyOnSelect.bundle в нужное место: ~/Library/Application Support/SIMBL/Plugins

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

iTerm2 делает это уже много лет. Дело в том, что в конфигурации по умолчанию это назначается на среднюю кнопку. Если у вас мышь с 2 кнопками, вам нужно назначить действие вставка на одиночный щелчок правой кнопкой в iTerm -> Настройки -> Указатель -> Привязки -> Вставить из буфера обмена. В 2021 году эта конфигурация выглядит так:

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

Насколько я вижу, единственный способ сделать стандартный терминал Mac OS похожим на putty, это:

  • выбрать и скопировать: удерживайте Command + Shift и дважды щелкните по тексту/пути, который вы хотите скопировать. Он автоматически копируется в “альтернативный буфер обмена”
  • вставить (как в putty): удерживайте Command + Shift и щелкните правой кнопкой мыши. Текст автоматически вставляется из “альтернативного буфера обмена”.

По сути, при выборе, копировании и вставке это работает так же, как и в Putty, пока вы держите Command + Shift.

Слово о “альтернативном буфере обмена”: похоже, что если вы копируете текст, используя описанный обходной путь, его можно вставить только с помощью того же обходного пути, иначе, если вы щелкните правой кнопкой мыши и выберете вставить, он вставит из стандартного буфера обмена.

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

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

Работа в терминале OS X может быть удобной и эффективной, особенно если вам нужно часто копировать и вставлять текст. В отличие от других терминалов, таких как PuTTY, стандартный терминал OS X не поддерживает функцию копирования текста при выделении. Тем не менее, существует несколько решений, которые могут значительно упростить этот процесс. Давайте рассмотрим их подробнее.

1. Использование плагина TerminalCopyOnSelect

Для того чтобы добавить возможность копирования текста при выделении в стандартном терминале OS X, вы можете использовать плагин TerminalCopyOnSelect. Вот шаги для его установки:

  • Установите SIMBL: SIMBL — это инструмент, позволяющий расширять функциональность приложений на macOS. Сначала загрузите и установите SIMBL с официального сайта.

  • Скачайте плагин: Загрузите плагин TerminalCopyOnSelect.bundle.zip и распакуйте его.

  • Переместите плагин: Скопируйте файл "TerminalCopyOnSelect.bundle" в директорию плагинов SIMBL, которая расположена по пути ~/Library/Application Support/SIMBL/Plugins/.

  • Перезапустите Terminal: Убедитесь, что все процессы терминала завершены, и снова запустите его.

После установки плагина вы сможете использовать выделенный текст в терминале следующим образом:

  • Копирование: Выделите текст, затем просто перетащите выделенное в строку команд.
  • Вставка: Используйте сочетание клавиш Shift + Command + V для вставки текста.

2. Установка iTerm2

Если вам не подходит стандартный терминал, вы можете рассмотреть iTerm2 — мощную альтернативу, которая поддерживает функцию копирования при выделении:

  • Скачайте iTerm2 с официального сайта.
  • Настройка: Перейдите в iTerm -> Preferences -> Pointer, чтобы перенастроить действия при использовании мыши и адаптировать настройку под ваши нужды. iTerm2 позволяет контролировать действия при клике правой кнопкой, включая вставку текста.

3. Альтернативные методы копирования и вставки

Если вы по каким-то причинам не хотите устанавливать плагины или альтернативные приложения, вы все равно можете использовать стандартные комбинации клавиш для копирования и вставки:

  • Копирование: Удерживайте Command + Shift и кликните дважды по тексту для его выбора. Текст будет автоматически скопирован в альтернативный буфер обмена.
  • Вставка: Удерживайте Command + Shift и кликните правой кнопкой мыши для вставки текста из альтернативного буфера.

4. Ответы на часто задаваемые вопросы

Можно ли изменить исходный код терминала OS X?
Нет, исходный код стандартного терминала OS X не является общедоступным. Однако iTerm2 имеет открытую архитектуру, и его код доступен для изучения и модификации.

Coroutine мне установить что-то еще?
Если вам нужно больше возможностей, iTerm2 — отличный выбор. Также вы можете рассмотреть TotalTerminal, который добавляет горячие клавиши и настройки по своему усмотрению, не заменяя стандартный терминал.

Как исправить ошибки при установке плагина?
Если вы видите сообщение о несоответствии версии плагина с вашим терминалом, вам может потребоваться собрать плагин самостоятельно. Для этого скачайте его исходный код с GitHub и настройте Info.plist, чтобы соответствовать вашей версии терминала.

Заключение

Таким образом, у вас есть несколько доступных способов для реализации функции копирования текста при выделении в терминале OS X. Выбор метода зависит от ваших предпочтений и рабочего процесса. Установка плагина TerminalCopyOnSelect или использование iTerm2 могут значительно упростить вашу работу. Выберите тот путь, который вам больше подходит, и оптимизируйте свой опыт работы в терминале!

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

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