Я использую 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. Я прочитал страницу справочника удара, и она не помогла. Это дало мне идеи, но мне нужны определенные примеры для вышеупомянутых комбинаций.Спасибо.
Это не функции удара, они - функции терминального драйвера. По сути, они указаны 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
Это почти полностью решено теперь. На часть решения сначала обратил мое внимание 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 земле) в сценарии запуска. Я не уверен, какой является "надлежащим". Я хотел бы, чтобы это изменение было в масштабе всей системы и постоянным.
Какие-либо предложения, относительно который сценарий я должен поместить команду в?
И наконец, относительно нравоучительных ответов, они являются ненужными и бесполезными.
Некоторые 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
.
Использование Bash emacs
или vi
режим на командной строке. Это не имеет никакого понятия "выбора" или "буфера обмена". Это использует вещи как, "уничтожают буфер" и "точку", "метку", "слово", "строку", "уничтожают" и "дергают", и т.д.
Попытка к функциональности стиля GUI рожка для обуви в него будет печальна в лучшем случае и не будет работать полностью. Необходимо будет попытаться объединить функции stty
, readline
и Ваш терминал (по-видимому, Terminal.app
для Вас). Необходимо будет повторно отобразить функции такой как intr
, susp
, lnext
, и т.д., таким образом, можно все еще использовать их функции.
Я настоятельно рекомендую против таких радикальных модификаций. Это просто не было разработано, чтобы сделать то, что Вы хотите.
Когда в Риме...