El archivo ~ / .inputrc no funciona correctamente

14

Tengo este archivo ~ / .inputrc que creé para ciertas asociaciones de teclas.

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C":forward-word
"\e[1;5D":backward-word
"\e[5C":forward-word
"\e[5D":backward-word
"\e\e[C":forward-word
"\e\e[D":backward-word

cada vez que intento ejecutar source ~/.inputrc, me da el siguiente error:

\ e [1; 5C: palabra de reenvío: comando no encontrado. \ e [1; 5D: palabra hacia atrás: comando no encontrado. \ e [5C: palabra de reenvío: comando no encontrado. \ e [5D: palabra hacia atrás: comando no encontrado. \ e \ e [C: palabra de reenvío: comando no encontrado. \ e \ e [D: palabra hacia atrás: comando no encontrado.

Tampoco funciona cuando abro una nueva terminal, no recibo el error, pero mis combinaciones de teclas Ctrl no funcionan también en la nueva terminal. Creé este archivo yo mismo ya que no tengo acceso de root para cambiar / etc / inputrc. ¿Alguien puede ayudarme? Gracias.

EDITAR: También probé el archivo con espacio después del signo de dos puntos (:). No funciona También probé hacerlo ejecutable (chmod + x ~ / .inputrc), no funcionó.

EDITAR: me di cuenta de que este procedimiento es solo para 'bash' y estoy ejecutando 'tcsh'. Para 'csh', use .bindingsfile en lugar de .inputrcfile y use la bindkeysintaxis.

rrlamichhane
fuente

Respuestas:

12

Para bash, esto recargará ahora las asignaciones definidas actualmente

bind -f  ~/.inputrc
Pablo
fuente
¿De dónde obtener el bindcomando?
danijar
Bind es una concha incorporada. ¿Qué os estás ejecutando?
Paul
Estoy usando Debian con zsh.
danijar
esto no funcionó para mí con bash en RHEL 7. Mis enlaces .inputrc todavía no se vuelven a cargar después de ejecutar este comando.
user5359531
@ user5359531, ¿podría ser que sus enlaces anteriores no se están "descargando"? (Si no se configuran explícitamente, permanecerán como estaban antes). ¿O tal vez algo más, como su ~ / .inputrc no $include /etc/inputrc?
mwfearnley
6

El .inputrcarchivo no es un archivo de origen. Debe ser tenido en cuenta automáticamente por bashotro software que use la biblioteca readline. Si esto no funciona, agregue un espacio después de los dos puntos, p. Ej.

"\e[1;5C": forward-word

(Siempre he visto un espacio en este archivo de configuración).

vinc17
fuente
1
+1 Énfasis en "otro software que usa la biblioteca readline". .inputrcno es un script de shell; Es un readlinearchivo de configuración.
chepner
En realidad, así es como lo tuve primero y lo cambié a sin espacio solo para probarlo. No funciona de ninguna manera. He añadido eso en la edición. Gracias.
rrlamichhane
5

Las combinaciones de teclas y el ~/.inputrcarchivo publicado en cuestión son para bash. Para csh(o tcsh) use un archivo ~/.bindingsy use la siguiente sintaxis.

bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word

Me di cuenta de esto después de buscar en Google.

rrlamichhane
fuente
Por alguna razón, mi tsch estaba ignorando el archivo .bindings. Agregar source ~/.bindingsa mi ~/.cshrcarchivo solucionó esto.
drmuelr