Создание Ctrl+C скопировать текст в терминале гнома?

Для меня действительно ли возможно заставить Ctrl+C выполнить команду копии, если существует выделенный текст в терминале?
Иначе это должно сохранить свое нормальное поведение.

(Если существует терминал, который может сделать это кроме терминала гнома, это прекрасно, вероятно, также.)

90
задан 20 July 2014 в 19:00

11 ответов

Вы можете изменить привязку клавиш для Cut and Paste, начиная со значения по умолчанию Ctrl+Shift+C, Ctrl+Shift+V, а именно Ctrl+C, Ctrl+V, в меню Edit → Keyboard Shortcuts. Хотя вы также должны изменить значение терминала по умолчанию, связанного с Ctrl+C (прерывание), например, таким образом

stty intr ^J

(Я выбрал Ctrl+J, потому что я не помню, что это связано с каким-либо действием, но вы можете сделать свой собственный выбор. )

Я не думаю, что для Ctrl+C можно сохранить действие прерывания по умолчанию только при отсутствии выделенного текста.

87
ответ дан 22 November 2019 в 23:25

Ctrl + C уже присвоена другой команде, которая прерывает выполняемую в терминале программу. Например, пинг www.google.com начнет пинговать Google до тех пор, пока вы не скажете ему остановиться. Для этого нужно нажать Ctrl + C

Так что они не могут просто изменить назначение этой комбинации.

Выделите текст, который хотите скопировать, нажмите Ctrl + Shift + C и он будет скопирован в буфер обмена. Ctrl + Shift + V и вы вставляете его.

Дайте мне знать, если он не работает...

41
ответ дан 22 November 2019 в 23:25

Кроме того, что сказал @Dan, есть еще один вариант копирования-вставки текста в Linux, который я нахожу гораздо быстрее и проще в использовании, так как нет необходимости переходить с мыши (которую вы используете для выделения) на клавиатуру:

  • выделение текста с помощью мыши копирует его в буфер обмена
  • средним щелчком мыши вставляет его в буфер обмена
  • .

Эта функция особенно полезна в терминале, например, при сборке команды из битов текста, которые уже находятся на экране.

Это работает во всех приложениях, так что можно копировать-вставить текст с веб-страницы в терминал и т.д.

Буфер обмена, используемый для копирования-вставки при средних кликах, отделен от буфера, используемого для Ctrl-C/Ctrl-V, что позволяет копировать два разных бита текста одновременно.

29
ответ дан 22 November 2019 в 23:25

Как уже отмечалось, Ctrl + C обычно используется для прерывания программы. Но вместо того, чтобы использовать Ctrl + Shift + C для копирования, что я делаю гораздо чаще, чем прерывание процесса, Я изменяю настройку, чтобы Ctrl + C для копирования и Ctrl + Shift + C для прерывания.

Это можно сделать в терминале GNOME, нажав "Edit" -> "Keyboard Shortcuts..." и нанеся действие "Copy" на Ctrl + C и "Paste" на Ctrl + V. Команда прерывания автоматически перенаправляется на Ctrl + Shift + C.

34
ответ дан 22 November 2019 в 23:25

Я думаю, что это невозможно, потому что в gnome терминале Ctrl+C, Ctrl+X, Ctrl+V не работает. Для вырезания, копирования и вставки необходимо выделить текст, щелкнуть правой кнопкой мыши и выбрать нужное действие

0
ответ дан 22 November 2019 в 23:25

Извините за то, что написал ответ на этот вопрос, похоже, что я потратил слишком много своей репутации на вознаграждение за возможность написать комментарий.

Невозможно изменить поведение клавиатурных горячих клавиш в зависимости от того, есть ли выбор текста или нет, и я бы избежал переназначения Ctrl-C терминала.

Но вы можете легко привыкнуть к

  • Ctrl+Ins для копирования
  • Shift+Ins для вставки

Это работает практически везде (кроме как в Nautilus, вздыхает), и вряд ли когда-нибудь что-нибудь вмешивается!

1
ответ дан 22 November 2019 в 23:25

Чтобы вырезать и вставить ( Ctrl + V , Ctrl + C ) работают в консоли или терминале, введите следующий код в терминал для автоматического изменения привязки клавиш:

gconftool-2 -t str -s /apps/gnome-terminal/keybindings/copy "<Control>c"

gconftool-2 -t str -s /apps/gnome-terminal/keybindings/paste "<Control>v"
3
ответ дан 22 November 2019 в 23:25

Как уже говорилось, Ctrl-C не будет работать из-за использования прерывания, но я просто выяснил способ, который работал у меня. Моей целью было иметь только две клавиши, а не три, и желательно то, к чему я привык, и не в слишком неудобном месте на клавиатуре. На клавиатуре, установленной на моем Linux-компьютере, есть клавиша «Windows» там же, где и клавиша Command на Mac. Поэтому я просто перешел в меню «Правка»> «Сочетания клавиш», когда я изменил сочетания клавиш, чтобы использовать эту клавишу, появилось сообщение Super + C и Super + V. Я тоже иногда использую Mac, поэтому к этому легко было привыкнуть.

0
ответ дан 22 November 2019 в 23:25

Кто-то хочет, чтобы вы могли использовать:

> stty intr ^K         # free Ctrl+C for copy use Ctrl+K instead
> stty lnext ^-        # free Ctrl+V for paste use ^- instead
> stty -g
> stty -g > ~/.stty    # store the settings in home directory

Добавьте следующее в ~ / .bashrc

case $- in
 *i*)
   stty `cat ~/.stty`     #  reload the stored stty settings
   bind -u quoted-insert  #  unbind the quoted-insert function of bash - free Ctrl+V for paste
esac

А затем редактор gconf или что-то вроде того, чтобы изменить привязку клавиш терминала к CTRL + C для копирования и CTRL + V для паста.

3
ответ дан 22 November 2019 в 23:25

в Lxterminal (терминал по умолчанию в Lxde ), вы можете полностью настроить ярлыки:

enter image description here

1
ответ дан 22 November 2019 в 23:25

На терминаторе вы можете изменить привязки, выполнив следующие действия:

  • щелкните правой кнопкой мыши на экране терминала.Выберите Настройки .
  • Перейдите к Привязки клавиш .
  • дважды щелкните в наборе команд для Копировать ( Ctrl ] + Shift + C по умолчанию), а затем нажмите Ctrl + C на клавиатуре.
  • Копировать команда изменена. Повторите эти действия для команды Вставить .
  • Выйти из Настройки .

Теперь вы можете использовать обычные Ctrl + C и ] Ctrl + V для копирования и вставки соответственно.

0
ответ дан 5 January 2021 в 23:52

Другие вопросы по тегам:

Похожие вопросы: