Як налаштувати Ctrl-Left та Ctrl-Right як попередні / наступні ярлики для bash (в даний час alt-b та alt-f)?
Як налаштувати Ctrl-Left та Ctrl-Right як попередні / наступні ярлики для bash (в даний час alt-b та alt-f)?
Відповіді:
Правильна відповідь залежить від того, який термінал ви використовуєте.
Для Gnome Terminal або останніх версій xterm введіть це в ~ / .inputrc:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Для PuTTY введіть це у свій ~ / .inputrc:
"\eOC": forward-word
"\eOD": backward-word
Для rxvt помістіть це у свій ~ / .inputrc:
"\eOc": forward-word
"\eOd": backward-word
Ви, ймовірно, можете піти від того, щоб помістити всіх разом у ~ / .inputrc.
У всіх випадках вам також потрібно помістити це у ваш ~ / .bashrc (або ~ / .zshrc):
export INPUTRC=~/.inputrc
Якщо це не працює, або у вас інший термінал, перейдіть до свого терміналу і введіть Ctrl+ V Ctrl+ ->. Потім використовуйте це замість "\e[1;5C"
або "\eOC"
вище. Повторіть для Ctrl+ <-.
Зауважте, що вам потрібно записати послідовності втечі клавіатури, використовуючи синтаксис inputrc , наприклад
\C
означає контроль\e
означає втечу (що з’являється як ^[
при наборі його за допомогою Ctrl + V вище)"\e[1;5C": forward-word
. І зробити Ctrl
+ V
річ для Ctrl
+ Left Arrow
теж.
Якщо ви використовуєте ZSH, вам потрібно скористатися іншим методом, оскільки, цитуючи відповідні частини з посібника з ZSH ArchLinux :
Zsh не використовує readline #like bash #, натомість використовує власний і потужніший zle.
Він не читає / etc / inputrc або ~ / .inputrc.
Прочитавши цей посібник, я зрозумів, що мені потрібне джерело модерну ZSH, щоб отримати загальне уявлення про те, як це зробити, і тому я знайшов цей ой-мій-zsh файл, який описує поведінку, яку я хотів, скопіював відповідні частини I захотів у мій ~ / .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