¿Cómo configuro Ctrl-Izquierda y Ctrl-Derecha como atajos de palabras anteriores / siguientes para bash (actualmente alt-b y alt-f)?
¿Cómo configuro Ctrl-Izquierda y Ctrl-Derecha como atajos de palabras anteriores / siguientes para bash (actualmente alt-b y alt-f)?
Respuestas:
La respuesta correcta depende del terminal que esté utilizando.
Para Gnome Terminal o versiones recientes de xterm, ponga esto en ~ / .inputrc:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Para PuTTY, ponga esto en su ~ / .inputrc:
"\eOC": forward-word
"\eOD": backward-word
Para rxvt, ponga esto en su ~ / .inputrc:
"\eOc": forward-word
"\eOd": backward-word
Probablemente pueda salirse con la suya al juntarlos en ~ / .inputrc.
En todos los casos, también debe poner esto en su ~ / .bashrc (o ~ / .zshrc):
export INPUTRC=~/.inputrc
Si eso no funciona, o si tiene una terminal diferente, vaya a su terminal y escriba Ctrl+ V Ctrl+ ->. Luego use eso en lugar de "\e[1;5C"
o "\eOC"
arriba. Repita para Ctrl+ <-.
Tenga en cuenta que debe escribir las secuencias de escape del teclado utilizando la sintaxis inputrc , p. Ej.
\C
significa control\e
significa escape (que aparece como ^[
cuando lo escribes usando Ctrl + V arriba)"\e[1;5C": forward-word
. Y haz lo Ctrl
+ V
para Ctrl
+ Left Arrow
también.
Si está utilizando ZSH, debe tomar un método diferente, ya que, citando las partes relevantes de la guía ZSH de ArchLinux :
Zsh no usa readline #like bash #, en su lugar usa su propio y más potente zle.
No lee / etc / inputrc o ~ / .inputrc.
Después de leer esa guía, pensé que necesitaba una fuente moderna de ZSH para tener una idea general de cómo hacer esto, y entonces encontré este archivo oh-my-zsh que describe el comportamiento que quería, copié las partes relevantes. quería en mi ~ / .zshrc:
bindkey -e #Use emacs mode, it's more sane for beginners
bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word
bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word
# Also, If you want to copy paste this into your zshrc,
# I'm pretty sure you would have to add this at the top :
# setopt interactive_comments