Como configurar Ctrl-Esquerda e Ctrl-Direita como atalhos da palavra anterior / seguinte para bash (atualmente alt-be alt-f)?
Como configurar Ctrl-Esquerda e Ctrl-Direita como atalhos da palavra anterior / seguinte para bash (atualmente alt-be alt-f)?
Respostas:
A resposta correta depende de qual terminal você está usando.
Para o Terminal Gnome ou versões recentes do xterm, coloque-o em ~ / .inputrc:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Para o PuTTY, coloque isso em seu ~ / .inputrc:
"\eOC": forward-word
"\eOD": backward-word
Para o rxvt, coloque isso em seu ~ / .inputrc:
"\eOc": forward-word
"\eOd": backward-word
Provavelmente, você pode se dar bem ao reunir todos esses itens em ~ / .inputrc.
Em todos os casos, você também precisa colocar isso no seu ~ / .bashrc (ou ~ / .zshrc):
export INPUTRC=~/.inputrc
Se isso não funcionar, ou se você tiver um terminal diferente, vá para o seu terminal e digite Ctrl+ V Ctrl+ ->. Em seguida, use isso em vez de "\e[1;5C"ou "\eOC"acima. Repita para Ctrl+ <-.
Observe que você precisa escrever as seqüências de escape do teclado usando a sintaxe inputrc , por exemplo,
\C significa controle\esignifica escape (que aparece ^[quando você digita usando Ctrl + V acima)"\e[1;5C": forward-word. E faça o Ctrl+ Vpara Ctrl+ Left Arrowtambém.
Se você estiver usando o ZSH, precisará usar um método diferente, porque, citando as partes relevantes do guia ZSH do ArchLinux :
O Zsh não usa o readline #like bash #, em vez disso, usa seu próprio e mais poderoso zle.
Não lê / etc / inputrc ou ~ / .inputrc.
Depois de ler esse guia, achei que precisava de uma fonte moderna de ZSH para obter a idéia geral de como fazer isso, e então encontrei esse arquivo oh-my-zsh que descreve o comportamento que eu queria, copiei as partes relevantes queria no meu ~ / .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