Come configuro Ctrl-Sinistra e Ctrl-Destra come scorciatoie parola precedente / successiva per bash (attualmente alt-b e alt-f)?
Come configuro Ctrl-Sinistra e Ctrl-Destra come scorciatoie parola precedente / successiva per bash (attualmente alt-b e alt-f)?
Risposte:
La risposta corretta dipende dal terminale in uso.
Per Gnome Terminal o versioni recenti di xterm, inseriscilo in ~ / .inputrc:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Per PuTTY, inseriscilo nel tuo ~ / .inputrc:
"\eOC": forward-word
"\eOD": backward-word
Per rxvt, inseriscilo nel tuo ~ / .inputrc:
"\eOc": forward-word
"\eOd": backward-word
Probabilmente puoi cavartela mettendo tutti insieme in ~ / .inputrc.
In tutti i casi, devi anche inserirlo nel tuo ~ / .bashrc (o ~ / .zshrc):
export INPUTRC=~/.inputrc
Se il problema persiste o hai un terminale diverso, vai al tuo terminale e digita Ctrl+ V Ctrl+ ->. Quindi usalo al posto di "\e[1;5C"
o "\eOC"
sopra. Ripeti per Ctrl+ <-.
Nota che devi scrivere le sequenze di escape della tastiera usando la sintassi inputrc , ad es
\C
significa controllo\e
significa fuga (che appare come ^[
quando si digita usando Ctrl + V sopra)"\e[1;5C": forward-word
. E fai anche la Ctrl
+ V
cosa per Ctrl
+ Left Arrow
.
Se stai usando ZSH, devi prendere un metodo diverso, perché, citando le parti rilevanti dalla guida ZSH di ArchLinux :
Zsh non usa readline #like bash #, invece usa il suo zle proprio e più potente.
Non legge / etc / inputrc o ~ / .inputrc.
Dopo aver letto quella guida, ho pensato di aver bisogno di una fonte modesta di ZSH per avere l'idea generale di come farlo, e quindi ho trovato questo file oh-my-zsh che descrive il comportamento che volevo, ho copiato le parti pertinenti che ho voleva nel mio ~ / .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