내 .zshrc
모습은 다음과 같습니다.
export EDITOR="/usr/bin/vim"
이제 터미널을 열고 키보드 단축키(예: ctrla줄 시작 부분으로 이동)를 입력하면 작동하지 않습니다. 대신 문자열 ^A
(또는 입력한 바로가기에 따라 다른 문자열)이 터미널에 입력됩니다.
emlai:~ % ^A
export
my에서 단어를 제거하면 .zshrc
키보드 단축키가 작동합니다.
EDITOR="/usr/bin/vim"
EDITOR
다른 콘텐츠로 내보내면 vim
다음과 같은 키보드 단축키도 작동할 수 있습니다.
export EDITOR="/usr/bin/nano"
왜 이런 일이 발생합니까?
이것도 테스트했는데 bash
키보드 단축키가 모든 경우에 잘 작동했습니다.
답변1
zsh
vi
대부분의 최신 셸과 마찬가지로 명령줄 편집을 위해 두 가지 키맵(하나 와 emacs
하나) 중에서 선택할 수 있습니다 . 일부 셸(예: tcsh
or readline
- like 기반 셸 bash
)에서는 이 emacs
셸이 기본값이며 예상한 셸일 수 있습니다.
을 사용하면 해당 모드를 선호한다고 가정할 때 /// 사용자 가 아닌 경우 또는 포함하는 경우 ( if 및 if ... ) 가 아닌 경우 기본적으로 모드를 zsh
가져옵니다 .emacs
$EDITOR
$VISUAL
vi
vi
nvi
vim
elvis
vimacs
$EDITOR
/home/victor/bin/emacs
zsh
vi
값에 관계없이 특정 모드를 강제하려면 $EDITOR
tcsh-style을 추가하세요:
bindkey -e # for emacs
bindkey -v # for vi
또는 ksh 스타일:
set -o emacs
set -o vi
당신을 ~/.zshrc
위해 .보세요
info -f zsh -n Keymaps
더 알아보기.