^Tを使用してzshで新しいlxterminalタブを開くと、最初の行に表示される^ T%をどのように停止しますか?

^Tを使用してzshで新しいlxterminalタブを開くと、最初の行に表示される^ T%をどのように停止しますか?

再現段階:

  1. zsh をデフォルトのシェルにします。
  2. 新しい端末を開きます。たとえば、Ctrl++を使用しますAltT
  3. Ctrl+ Shift+を押してT新しいターミナルタブを開きます。
  4. ^T%最初の行で表示

私はlxdeとzsh-4.3.11を使用してUbuntu 11.10を実行しています。

Gnome端末にはこの問題はありません。

コンテンツ/etc/zsh/zshrc:

# /etc/zsh/zshrc: system-wide .zshrc file for zsh(1).
#
# This file is sourced only for interactive shells. It
# should contain commands to set up aliases, functions,
# options, key bindings, etc.
#
# Global Order: zshenv, zprofile, zshrc, zlogin

READNULLCMD=${PAGER:-/usr/bin/pager}

if [[ "$TERM" != emacs ]]; then
[[ -z "$terminfo[kdch1]" ]] || bindkey -M emacs "$terminfo[kdch1]" delete-char
[[ -z "$terminfo[khome]" ]] || bindkey -M emacs "$terminfo[khome]" beginning-of-line
[[ -z "$terminfo[kend]" ]] || bindkey -M emacs "$terminfo[kend]" end-of-line
[[ -z "$terminfo[kich1]" ]] || bindkey -M emacs "$terminfo[kich1]" overwrite-mode
[[ -z "$terminfo[kdch1]" ]] || bindkey -M vicmd "$terminfo[kdch1]" vi-delete-char
[[ -z "$terminfo[khome]" ]] || bindkey -M vicmd "$terminfo[khome]" vi-beginning-of-line
[[ -z "$terminfo[kend]" ]] || bindkey -M vicmd "$terminfo[kend]" vi-end-of-line
[[ -z "$terminfo[kich1]" ]] || bindkey -M vicmd "$terminfo[kich1]" overwrite-mode

[[ -z "$terminfo[cuu1]" ]] || bindkey -M viins "$terminfo[cuu1]" vi-up-line-or-history
[[ -z "$terminfo[cuf1]" ]] || bindkey -M viins "$terminfo[cuf1]" vi-forward-char
[[ -z "$terminfo[kcuu1]" ]] || bindkey -M viins "$terminfo[kcuu1]" vi-up-line-or-history
[[ -z "$terminfo[kcud1]" ]] || bindkey -M viins "$terminfo[kcud1]" vi-down-line-or-history
[[ -z "$terminfo[kcuf1]" ]] || bindkey -M viins "$terminfo[kcuf1]" vi-forward-char
[[ -z "$terminfo[kcub1]" ]] || bindkey -M viins "$terminfo[kcub1]" vi-backward-char

# ncurses fogyatekos
[[ "$terminfo[kcuu1]" == ""* ]] && bindkey -M viins "${terminfo[kcuu1]/O/[}" vi-up-line-or-history
[[ "$terminfo[kcud1]" == ""* ]] && bindkey -M viins "${terminfo[kcud1]/O/[}" vi-down-line-or-history
[[ "$terminfo[kcuf1]" == ""* ]] && bindkey -M viins "${terminfo[kcuf1]/O/[}" vi-forward-char
[[ "$terminfo[kcub1]" == ""* ]] && bindkey -M viins "${terminfo[kcub1]/O/[}" vi-backward-char
[[ "$terminfo[khome]" == ""* ]] && bindkey -M viins "${terminfo[khome]/O/[}" beginning-of-line
[[ "$terminfo[kend]" == ""* ]] && bindkey -M viins "${terminfo[kend]/O/[}" end-of-line
[[ "$terminfo[khome]" == ""* ]] && bindkey -M emacs "${terminfo[khome]/O/[}" beginning-of-line
[[ "$terminfo[kend]" == ""* ]] && bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
fi

zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \
                 /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin

unalias run-help
autoload run-help

# If you don't want compinit called here, place the line
# skip_global_compinit=1
# in your $ZDOTDIR/.zshenv or $ZDOTDIR/.zprofice
if [[ -z "$skip_global_compinit" ]]; then
  autoload -U compinit
  compinit
fi

コンテンツ~/.zshrc:

# The following lines were added by compinstall

zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=* r:|=*' '+l:|=* r:|=*'
zstyle :compinstall filename '/home/kirill/.zshrc'

autoload -Uz compinit promptinit zcalc zsh-mime-setup
compinit
promptinit
zsh-mime-setup
# End of lines added by compinstall
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory autocd extendedglob notify sharehistory
setopt HIST_EXPIRE_DUPS_FIRST
#{{{ Shell Conveniences

# some more ls aliases
alias ls='ls --color'
alias lt='ls --color -ltr'
alias ll='ls -l'
alias lh='ls -l -h'
alias la='ls -A'
alias l='ls -CF'
alias vir='vim -R'
alias vimnw='vim -R +"set nowrap"'
alias tok='top -n1 -b -u kirill'
alias gt='gnome-terminal'
alias gts='gnome-terminal --window-with-profile=shnurov'

#alias tv='/usr/toolworks/totalview.8.6.2-2/bin/totalview'
#alias mpic='mpiCC.openmpi -o main -I/usr/local/include/boost-1_39/ main.cc -Llibdir -lboost_mpi-gcc43-mt-1_39 -lboost_serialization-gcc43-mt-1_39'
#alias mpir='mpirun.openmpi -np 7 ./main'
alias sage='~/progs/sage-4.8/sage'
#alias gmolden='/home/kirill/progs/molden/gmolden'
#alias molden='/home/kirill/progs/molden/molden'
#export LD_LIBRARY_PATH=/home/kirill/progs/molekel_5_4_0_linux_x86_64/lib:$LD_LIBRARY_PATH
#alias molekel='/home/kirill/progs/molekel_5_4_0_linux_x86_64/bin/Molekel'
#alias molekel='source /home/kirill/progs/molekel_5_4_0_linux_x86_64/launch_molekel.sh'
alias duh='du -s -h'
alias mam='make; time ./main'
alias mac='make clean;make;time ./main'
alias atdtool='~/progs/atdtool/atdtool'
alias acro='acroread -openInNewWindow'

#}}}
bindkey -e


bindkey "^[[A" history-beginning-search-backward
bindkey "^[[B" history-beginning-search-forward
# End of lines configured by zsh-newuser-install
# Customize to your needs...
export PATH=/opt/intel/composer_xe_2011_sp1.6.233/bin/intel64:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/intel/composer_xe_2011_sp1.6.233/mpirt/bin/intel64
#source /opt/intel/bin/compilervars.sh intel64

autoload -U colors && colors

PROMPT="%{$fg[red]%}%*%{$reset_color%}.%{$fg[cyan]%}%~%{$reset_color%}
%{$reset_color%}%{$fg[magenta]%}>%{$reset_color%}"
#PROMPT="${fg_red}%*${fg_white}${at_normal}.${fg_cyan}%~${fg_white}  ${bg_grey}
#${at_normal}${fg_white}>${at_normal}"

ベストアンサー1

lxterminal エラーです。

zsh は、プロンプトを実行する前に末尾の改行を含めないと、前のコマンドで示された隠し文字を表示しようとするのに十分に優れているため、他のシェルには表示されません。

と入力するとecho -n foo表示されますfoo%。改行文字がないことを示します%。上記のことは、^Tシェルを実行する前にlxterminalがこれを出力することです。

^T%\nprompt>他のシェルでは見えるものとは異なります^Tprompt

しかし、Lxterminalには別のバグがありますが、$SHELL

おすすめ記事