bash에서 이전 / 다음 단어 바로 가기를 변경하는 방법은 무엇입니까? 다음 단어 바로 가기로 Ctrl-Left 및 Ctrl-Right를

bash (현재 alt-b 및 alt-f)의 이전 / 다음 단어 바로 가기로 Ctrl-Left 및 Ctrl-Right를 구성하는 방법은 무엇입니까?



답변

정답은 사용중인 터미널에 따라 다릅니다.

그놈 터미널 또는 최신 버전의 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를 사용하여 입력 할 때 나타남 )

답변

ZSH 를 사용하는 경우 ArchLinux의 ZSH 안내서 에서 관련 파트를 인용하므로 다른 방법을 사용해야합니다 .

Zsh는 bash #와 같은 # readline을 사용하지 않고 자체적이고 강력한 zle을 사용합니다.

/ etc / inputrc 또는 ~ / .inputrc를 읽지 않습니다.

이 가이드를 읽은 후에는이 작업을 수행하는 방법에 대한 일반적인 아이디어를 얻으려면 ZSH의 모 든 소스가 필요하다고 생각했기 때문에 원하는 동작을 설명하는 이 oh-my-zsh 파일 을 찾았 습니다. ~ / .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