GNU/Linux >> Tutoriales Linux >  >> Linux

cambiar las teclas de acceso directo de bash como Ctrl-C?

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 .


Linux
  1. 9 teclas de acceso directo útiles de VLC Media Player

  2. Bash:Mayús+teclas de flecha ¿Hacer A,b,c,d?

  3. ¿Teclas de acceso directo que son independientes de la distribución del teclado?

  4. Cambie el atajo de teclado del obturador para tomar capturas de pantalla

  5. Consejos de Unix Shell:Cambie el Shell de inicio de sesión de Bash a otros

Cómo cambiar automáticamente el fondo de GNOME en intervalos usando BASH

¿Cómo cambiar el atajo de palabra anterior/siguiente en Bash?

¿Cómo cambio la finalización del historial de bash para completar lo que ya está en línea?

¿Cómo cambio el directorio en Git Bash con Git para Windows?

Ejecute el comando bash en la canalización de jenkins

claves ssh ssh-agent bash y ssh-add