изменитесь колотят сочетания клавиш, такие как Ctrl-C?

Я использую Kubuntu 10.04. Я хотел бы изменить некоторые стандартные сочетания клавиш для удара (терминал).

Вот ярлыки, которые я хотел бы настроить:

  • Ctrl-C для копирования выделенного текста в терминале к буферу обмена.

  • Ctrl-V для вставки от буфера обмена в терминал.

  • Ctrl-Z для отмены редактирования на текущей строке в терминале.

  • Ctrl-Shift-C (или еще лучше, Super-C) для завершения команды.

  • Ctrl-Shift-Z (или Super-Z), чтобы быть фоновой командой.

  • Ctrl-Shift-V (или Super-V), чтобы быть литеральной командой вставки (или независимо от того, что Ctrl-z сделал прежде).

Как я вношу эти изменения?

BTW, мне нравится способ, которым терминал работает над OS X. Использование командной клавиши делает весь скопировать/вставить команды очень последовательный (в отличие от многих других вещей в OS X).

P.S. Я прочитал страницу справочника удара, и она не помогла. Это дало мне идеи, но мне нужны определенные примеры для вышеупомянутых комбинаций.Спасибо.

21
задан 31.01.2019, 00:20

4 ответа

Это не функции удара, они - функции терминального драйвера. По сути, они указаны stty(1).

$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
10
ответ дан 07.12.2019, 10:04

Это почти полностью решено теперь. На часть решения сначала обратил мое внимание MTK358 по http://www.linuxquestions.org/questions/linux-software-2/change-bash-shortcut-keys-such-as-ctrl-c-818170/. Он указал (довольно очевидный, очень к моему затруднению) то, что копия и сочетания клавиш вставки могут легко быть изменены настройками меню консоли. После того как я видел это, потребовалась приблизительно 1 минута для установки Ctrl-C и Ctrl-V, чтобы скопировать и вставить с терминалом.

Другая часть решения должна была быть ясна из stty страницы справочника, но это не было (мне). Я закончил тем просто, что экспериментировал на основе различных подсказок, таких как отправленные выше.

Я решил, какой нечисловой ключ я хотел заменить Ctrl-C в качестве оконечной команды. (Я использовал "k"). Я никогда не находил информации о том, как передать модификатор сдвига stty, таким образом, я разочаровался в этом. С решенным, все, что я должен был сделать, было, вводят следование командной строки:

stty предают \^k земле

Я проверил, что все работало, как желаемый.

Теперь я просто должен был поместить, единственная команда выше (stty предают \^k земле) в сценарии запуска. Я не уверен, какой является "надлежащим". Я хотел бы, чтобы это изменение было в масштабе всей системы и постоянным.

Какие-либо предложения, относительно который сценарий я должен поместить команду в?

И наконец, относительно нравоучительных ответов, они являются ненужными и бесполезными.

8
ответ дан 07.12.2019, 10:04

Некоторые thse могут быть установлены с помощью нормального механизма сочетания клавиш KDE. В меню "Settings" Konsole нажмите на "Configure Shortcuts", и Вы получите диалоговое окно, которое можно использовать для изменения привязок клавиш для функций, которые обрабатываются KDE. Это позволит Вам повторно отображать Ctrl+C для копирования и Ctrl+V для вставки - но иметь в виду, что, после того как Вы делаете это, те сочетания клавиш больше не будут передаваться до терминала, таким образом, Вы не сможете использовать Ctrl+C для прерывания программы, например.

Другими функциями управляют readline библиотека, которую можно настроить путем редактирования файла ~/.inputrc. Чтобы заставить Ctrl+Z возвращаться, любые редактирования сделали на текущей строке, Вы хотели бы добавить

C-z: revert-line

но то сочетание клавиш, вероятно, уже захватывается терминалом, таким образом, Вам, возможно, придется использовать stty развязывать его, прежде чем это будет работать. Сначала ищите ^Z в выводе stty -a (как показано в ответе Ignacio) и затем, например, если это обнаруживается в susp = ^Z, выполненный

stty susp ^-

развязывать то ключевое отображение.

Другие изменения, о которых Вы спрашиваете, должны были бы быть, покончили stty как Ignacio говорит, так как это - терминальные функции, но я не уверен точно как. Проблема - то, что я не знаю, распознает ли терминал Сдвиг, или если он делает, как передать ту информацию stty.

4
ответ дан 07.12.2019, 10:04

Использование Bash emacs или vi режим на командной строке. Это не имеет никакого понятия "выбора" или "буфера обмена". Это использует вещи как, "уничтожают буфер" и "точку", "метку", "слово", "строку", "уничтожают" и "дергают", и т.д.

Попытка к функциональности стиля GUI рожка для обуви в него будет печальна в лучшем случае и не будет работать полностью. Необходимо будет попытаться объединить функции stty, readline и Ваш терминал (по-видимому, Terminal.app для Вас). Необходимо будет повторно отобразить функции такой как intr, susp, lnext, и т.д., таким образом, можно все еще использовать их функции.

Я настоятельно рекомендую против таких радикальных модификаций. Это просто не было разработано, чтобы сделать то, что Вы хотите.

Когда в Риме...

3
ответ дан 07.12.2019, 10:04

Теги

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