Для меня действительно ли возможно заставить Ctrl+C выполнить команду копии, если существует выделенный текст в терминале?
Иначе это должно сохранить свое нормальное поведение.
(Если существует терминал, который может сделать это кроме терминала гнома, это прекрасно, вероятно, также.)
Вы можете изменить привязку клавиш для 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 можно сохранить действие прерывания по умолчанию только при отсутствии выделенного текста.
Ctrl + C уже присвоена другой команде, которая прерывает выполняемую в терминале программу. Например, пинг www.google.com начнет пинговать Google до тех пор, пока вы не скажете ему остановиться. Для этого нужно нажать Ctrl + C
Так что они не могут просто изменить назначение этой комбинации.
Выделите текст, который хотите скопировать, нажмите Ctrl + Shift + C и он будет скопирован в буфер обмена. Ctrl + Shift + V и вы вставляете его.
Дайте мне знать, если он не работает...
Кроме того, что сказал @Dan, есть еще один вариант копирования-вставки текста в Linux, который я нахожу гораздо быстрее и проще в использовании, так как нет необходимости переходить с мыши (которую вы используете для выделения) на клавиатуру:
Эта функция особенно полезна в терминале, например, при сборке команды из битов текста, которые уже находятся на экране.
Это работает во всех приложениях, так что можно копировать-вставить текст с веб-страницы в терминал и т.д.
Буфер обмена, используемый для копирования-вставки при средних кликах, отделен от буфера, используемого для Ctrl-C/Ctrl-V, что позволяет копировать два разных бита текста одновременно.
Как уже отмечалось, Ctrl + C обычно используется для прерывания программы. Но вместо того, чтобы использовать Ctrl + Shift + C для копирования, что я делаю гораздо чаще, чем прерывание процесса, Я изменяю настройку, чтобы Ctrl + C для копирования и Ctrl + Shift + C для прерывания.
Это можно сделать в терминале GNOME, нажав "Edit" -> "Keyboard Shortcuts..." и нанеся действие "Copy" на Ctrl + C и "Paste" на Ctrl + V. Команда прерывания автоматически перенаправляется на Ctrl + Shift + C.
Я думаю, что это невозможно, потому что в gnome терминале Ctrl+C, Ctrl+X, Ctrl+V не работает. Для вырезания, копирования и вставки необходимо выделить текст, щелкнуть правой кнопкой мыши и выбрать нужное действие
Извините за то, что написал ответ на этот вопрос, похоже, что я потратил слишком много своей репутации на вознаграждение за возможность написать комментарий.
Невозможно изменить поведение клавиатурных горячих клавиш в зависимости от того, есть ли выбор текста или нет, и я бы избежал переназначения Ctrl-C терминала.
Но вы можете легко привыкнуть к
Это работает практически везде (кроме как в Nautilus, вздыхает), и вряд ли когда-нибудь что-нибудь вмешивается!
Чтобы вырезать и вставить ( 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"
Как уже говорилось, Ctrl-C не будет работать из-за использования прерывания, но я просто выяснил способ, который работал у меня. Моей целью было иметь только две клавиши, а не три, и желательно то, к чему я привык, и не в слишком неудобном месте на клавиатуре. На клавиатуре, установленной на моем Linux-компьютере, есть клавиша «Windows» там же, где и клавиша Command на Mac. Поэтому я просто перешел в меню «Правка»> «Сочетания клавиш», когда я изменил сочетания клавиш, чтобы использовать эту клавишу, появилось сообщение Super + C и Super + V. Я тоже иногда использую Mac, поэтому к этому легко было привыкнуть.
Кто-то хочет, чтобы вы могли использовать:
> 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 для паста.
в Lxterminal (терминал по умолчанию в Lxde ), вы можете полностью настроить ярлыки:
На терминаторе вы можете изменить привязки, выполнив следующие действия:
Теперь вы можете использовать обычные Ctrl + C и ] Ctrl + V для копирования и вставки соответственно.