RHEL 6.4 시스템에 zsh 4.3.10을 설치했습니다. 왜 이런 일이 발생하는지 잘 모르겠지만 Tab자동 완성을 하면반품탭 문자를 추가합니다.
예를 들어:
rocket@rhelbox www % vim vim
external command
----------------
vim vimdiff vimtutor
따라서 를 입력하면 VIMTab콘솔 Tab에 탭이 추가되고 자동 완성이 수행됩니다. 명령은 잘 작동하지만 짜증날 뿐입니다. 백스페이스 키를 눌러 삭제할 수도 없습니다. 무엇이 원인인지 모르겠습니다.
이 내 꺼야 .zshrc
:
# Initialize Autocompletion and Autocorrection
autoload -U compinit promptinit
compinit
promptinit
#prompt redhat
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
zstyle ':completion::complete:*' use-cache 1
setopt correctall
# Custom PS1
autoload -U colors && colors
# http://www.understudy.net/custom.html#Z_color
fg_purple=$'\e[0;35m'
#PS1="%n@%m %c %% "
PS1="${fg_purple}%n@%m %{$fg[yellow]%}%c %% %{$reset_color%}"
# cd is automagically added
setopt autocd
# Save History
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.bash_history
setopt hist_ignore_all_dups
# Keybindings
bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line
bindkey '^?' backward-delete-char
bindkey "\e[3~" delete-char
# Aliases
alias ls="ls --color=auto"
# Set (SVN) Editor to vim
export SVN_EDITOR=vim
export EDITOR=vim
답변1
이는 터미널에서 zsh 커서의 위치를 혼동하도록 설정한 프롬프트 때문일 수 있습니다. 터미널 제어 문자가 터미널에 실제로 표시되지 않는다는 사실을 zsh에 알리지 않고 프롬프트에 터미널 제어 문자를 포함시켰습니다.
%{
이 작업은 프롬프트의 해당 부분을 및 로 묶어 수행해야 합니다 %}
. 이는 색상을 노란색으로 설정하고 색상을 재설정할 때 수행되지만 색상을 보라색으로 설정하기 시작할 때는 수행되지 않습니다.