Создание текста Ctrl + C в gnome-терминале?

61

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

(Если есть терминал, который может сделать это иначе, чем gnome-terminal, это, вероятно, тоже.)

    
задан Mehrdad 19.07.2011 в 07:45
источник

10 ответов

67

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

stty intr ^J

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

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

    
ответ дан enzotib 19.07.2011 в 08:52
источник
39

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

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

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

Сообщите мне, если это не сработает ...

    
ответ дан Dan 25.09.2011 в 23:19
27

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

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

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

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

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

ответ дан Sergey 26.09.2011 в 03:28
21

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

Вы можете сделать это в терминале GNOME, перейдя в «Правка» - > «Сочетания клавиш ...» и сопоставьте действие «Копировать» с Ctrl + C и "Вставить" в Ctrl + V . Команда прерывания автоматически будет переназначена на Ctrl + Shift + C .

    
ответ дан mangoDrunk 26.09.2011 в 05:09
2

Чтобы сделать вырезание и вставку ( 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"
    
ответ дан user165696 09.06.2013 в 06:47
1

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

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

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

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

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

    
ответ дан Walter Tross 03.11.2012 в 15:13
1

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

> 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 или somesuch для изменения привязок терминалов к CTRL + C для копирования и CTRL + V > для пасты.

    
ответ дан Sandip Chitale 06.06.2014 в 21:57
1

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

    
ответ дан Woeitg 29.05.2016 в 15:30
0

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

    
ответ дан user21857 19.07.2011 в 08:16
0

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

    
ответ дан foraker 26.06.2013 в 20:46