Jak skonfigurować Ctrl-Lewo i Ctrl-Prawo jako skróty poprzedniego / następnego słowa dla bash (obecnie Alt-B i Alt-F)?
Jak skonfigurować Ctrl-Lewo i Ctrl-Prawo jako skróty poprzedniego / następnego słowa dla bash (obecnie Alt-B i Alt-F)?
Odpowiedzi:
Prawidłowa odpowiedź zależy od używanego terminala.
W przypadku Gnome Terminal lub najnowszych wersji xterm umieść to w ~ / .inputrc:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
W przypadku PuTTY umieść to w ~ / .inputrc:
"\eOC": forward-word
"\eOD": backward-word
W przypadku rxvt umieść to w swoim ~ / .inputrc:
"\eOc": forward-word
"\eOd": backward-word
Prawdopodobnie można uniknąć umieszczenia wszystkich tych razem w ~ / .inputrc.
We wszystkich przypadkach musisz także umieścić to w swoim ~ / .bashrc (lub ~ / .zshrc):
export INPUTRC=~/.inputrc
Jeśli to nie zadziała lub masz inny terminal, przejdź do terminala i wpisz Ctrl+ V Ctrl+ ->. Następnie użyj tego zamiast "\e[1;5C"
lub "\eOC"
powyżej. Powtórz dla Ctrl+ <-.
Zauważ, że musisz napisać sekwencje specjalne klawiatury za pomocą składni inputrc , np
\C
oznacza kontrolę\e
oznacza ucieczkę (która pojawia się jak ^[
podczas pisania za pomocą Ctrl + V powyżej)"\e[1;5C": forward-word
. I zrób też Ctrl
+ V
dla Ctrl
+ Left Arrow
.
Jeśli używasz ZSH, musisz zastosować inną metodę, ponieważ cytując odpowiednie części z przewodnika ZSH ArchLinux :
Zsh nie używa readline # like bash #, zamiast tego używa własnego i mocniejszego zle.
Nie czyta / etc / inputrc ani ~ / .inputrc.
Po przeczytaniu tego przewodnika doszedłem do wniosku, że potrzebuję nowoczesnego źródła ZSH, aby uzyskać ogólny pomysł, jak to zrobić, i znalazłem ten plik oh-my-zsh, który opisuje pożądane zachowanie, skopiowałem odpowiednie części I chciałem do mojego ~ / .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