Los valores predeterminados están incluidos man bash
, junto con detalles sobre lo que hace cada comando. Vea la respuesta de BroSlow si ha cambiado sus combinaciones de teclas.
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-word (M-f)
Move forward to the end of the next word. Words are composed of alphanumeric characters (letters and digits).
backward-word (M-b)
Move back to the start of the current or previous word. Words are composed of alphanumeric characters (letters and digits).
shell-forward-word
Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.
shell-backward-word
Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the screen.
...
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
...
unix-line-discard (C-u)
Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring.
...
yank (C-y)
Yank the top of the kill ring into the buffer at point.
EDITAR
Todos estos comandos están en una sección contigua del manual, por lo que puede buscarlo Commands for Moving
. Alternativamente, puede guardar esta sección completa en un archivo de texto con
man bash | awk '/^ Commands for Moving$/{print_this=1} /^ Programmable Completion$/{print_this=0} print_this==1{sub(/^ /,""); print}' > bash_commands.txt
(Nota: esto imprime toda la sección, incluidos los comandos sin atajo de teclado predeterminado).
Explicación del código awk
- En la (única) aparición de
Commands for Moving
, establezca la variable print_this
en 1.
- En la (única) aparición de
Programmable Completion
, que es la siguiente sección, establezca la variable en 0.
- Si la variable es 1, elimine el espacio en blanco inicial (tres espacios) e imprima la línea.
bind -P
Sería más preciso.Readline Command Names
, verá todos los comandos en esta sección. Escribiré un script corto para extraerlo a un archivo de texto, pero no puedo hacerlo ahora (tendré tiempo en unas pocas horas).Puede enumerar todos los accesos directos en su shell bash actual llamando al bash incorporado
bind
con la-P
opción.p.ej
Para cambiarlos, puedes hacer algo como
Y póngalo en un archivo de inicio para que sea permanente (tenga en cuenta que solo puede tener una combinación de teclas vinculada a una cosa a la vez, por lo que perderá cualquier enlace que tenía anteriormente).
fuente
bind -P
debería darte todos los accesos directos. Si quiere hacer caso omiso de aquellos que no tienen asignaciones para las funciones de enlace / lectura, puede hacer algo comobind -P | grep -v "not bound"
El siguiente comando proporciona una salida columnar agradable que muestra el uso y los accesos directos.
Esto da una salida, que se ve como
Obtenga esta salida en un archivo de texto usando el siguiente comando
El archivo se crea en su directorio $ HOME.
Explicación
Obtiene todos los atajos.
elimina todos los atajos no asignados
ordena la salida
imprime la primera columna (es decir, función) y justifica el texto
Esto es parte del comando anterior. Imprime columnas 6+ (es decir, accesos directos).
Pone la salida en un buen archivo de texto en el directorio de inicio llamado accesos directos
Puede hacerse una idea de cómo funciona el comando ejecutando los siguientes comandos.
fuente
bind -P | tail -n +2 | sort | awk '{printf "%-40s", $1} {if ($6 == "any") {printf"\n"} else {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}}'
De acuerdo, tengo una manera de obtener la lista de accesos directos filtrando el manual de bash . También le dará la descripción de lo que hace exactamente cada acceso directo. Gracias a Sparhawk que me iluminó para encontrar la solución. Lo que necesitaba era aprender el uso de expresiones regulares, aunque todavía no soy bueno :)
Eso es todo lo que necesitaba. Solo quería saber las teclas de acceso directo asignadas a bash y no he reconfigurado ninguna tecla como me preguntó BroSlow .
Una vez más, gracias a todos por sus contribuciones.
Nota :
Si alguien quiere mejorar esto, él / ella es bienvenido. Solo he mencionado la forma de enumerar esos atajos que han sido asignados por algunas teclas. Entonces, si alguien sabe cómo enumerar esas acciones que no se han asignado con la descripción de esta manera , es bienvenido :)
fuente
dump-macros
), aunque eso podría ser lo que desea.Siempre que el manual de bash no se modifique de manera que este comando sea incorrecto (lo cual no es muy probable), el siguiente comando mostrará todos los accesos directos predeterminados para
bash
.Esto da una salida que se parece a:
Si se modifica el manual de bash, este comando se puede cambiar fácilmente para adaptarse a las necesidades.
fuente