Bash에서 이전/다음 단어 단축키를 변경하는 방법은 무엇입니까?

Bash에서 이전/다음 단어 단축키를 변경하는 방법은 무엇입니까?

bash의 이전/다음 단어 단축키(현재 alt-b 및 alt-f)로 Ctrl-Left 및 Ctrl-Right를 어떻게 구성합니까?

답변1

정답은 사용하는 단말기에 따라 다릅니다.

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+를 반복합니다 <-.

다음을 사용하여 키보드 이스케이프 시퀀스를 작성해야 합니다.입력 구문,예를 들어

  • \C통제를 의미한다
  • \e^[이스케이프를 나타냅니다(위에서 Ctrl+V를 눌러 입력할 때 표시됨).

답변2

ZSH를 사용하는 경우 참조가 다음에서 제공되므로 다른 접근 방식을 취해야 합니다.ArchLinux용 ZSH 가이드:

Zsh는 bash #처럼 readline #을 사용하지 않지만 자체의 더 강력한 zle을 사용합니다.

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

해당 가이드를 읽은 후 이 작업을 수행하는 방법에 대한 일반적인 아이디어를 얻으려면 ZSH에 대한 최신 소스가 필요하다고 생각하여 다음을 찾았습니다.아 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

관련 정보