Esas no son características de bash, son características del controlador de terminal. Como tales, están especificados por 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
Esto es casi completamente resuelto ahora. MTK358 me llamó la atención por primera vez sobre parte de la solución en http://www.linuxquestions.org/questions/linux-software-2/change-bash-shortcut-keys-such-as-ctrl-c-818170/ . Señaló el hecho (bastante obvio, para mi vergüenza) de que las teclas de método abreviado de copiar y pegar se pueden cambiar fácilmente mediante la configuración del menú de konsole. Una vez que vi esto, me tomó alrededor de 1 minuto configurar Ctrl-C y Ctrl-V para copiar y pegar con la terminal.
La otra parte de la solución debería haber sido clara desde la página de manual de stty, pero no lo fue (para mí). Terminé experimentando basándome en varias pistas, como las publicadas anteriormente.
Decidí qué tecla no numérica quería reemplazar Ctrl-C como comando de finalización. (Usé "k"). Nunca encontré información sobre cómo transmitir un modificador de cambio a stty, así que me rendí. Con eso decidido, todo lo que tenía que hacer era ingresar lo siguiente en la línea de comando:
stty intr\^k
Verifiqué que todo funcionó como lo deseaba.
Ahora solo tenía que colocar el comando único arriba (stty intr \^k) en un script de inicio. No estoy seguro de cuál es el "adecuado". Me gustaría que este cambio sea permanente y en todo el sistema.
¿Alguna sugerencia sobre en qué secuencia de comandos debo colocar el comando?
Y finalmente, en cuanto a las respuestas sermoneadoras, son innecesarias e inútiles.
Algunos de estos se pueden configurar utilizando el mecanismo de atajo de teclado normal de KDE. En el menú "Configuración" de Konsole, haga clic en "Configurar accesos directos" y obtendrá un cuadro de diálogo que puede usar para cambiar las combinaciones de teclas para las funciones que maneja KDE. Eso le permitirá reasignar Ctrl+C para copiar y Ctrl+V para pegar, pero tenga en cuenta que una vez que lo haga, esas secuencias de teclas ya no pasarán al terminal, por lo que no podrá usar Ctrl+C para interrumpir un programa, por ejemplo.
Otras funciones son controladas por el readline
biblioteca, que puede configurar editando el archivo ~/.inputrc
. Para obtener Ctrl+Z para revertir cualquier edición realizada en la línea actual, querrá agregar
C-z: revert-line
pero esa secuencia de teclas probablemente ya esté capturada por la terminal, por lo que es posible que deba usar stty
para desvincularlo antes de que funcione. Primero busca ^Z
en la salida de stty -a
(como se muestra en la respuesta de Ignacio) y luego, por ejemplo, si aparece en susp = ^Z
, corre
stty susp ^-
para desvincular esa asignación de teclas.
Los otros cambios sobre los que está preguntando tendrían que hacerse con stty
como dice Ignacio, ya que esas son funciones de terminal, pero no se muy bien como. El problema es que no sé si la terminal reconoce Shift, o si lo hace, cómo transmitir esa información a stty
.