Home現在の入力が十分に短い(たとえば、36文字未満)場合、ヒットすると正常に動作します。ただし、長いコマンドを入力して最初に戻りたい場合、そのコマンドは機能しているように見えますが、コマンドが正しく表示されません。私は最初ではないようですが、約10文字オフです。「ブラインド」と入力しても問題なく動作しますが、まるで入力全体が右にシフトされているように見えますが、再描画はされません。だから私はそれを上書きしますが、「実際には」ではありません。「消去」している場所は「実際には」10文字右にあるためです。したがって、コマンドを消去しようとすると、最初の10文字が表示されますが、ヒットEnterすると、前の入力が空であるかのように別のプロンプトが表示されます。
私はそれがこれまでで最高の説明ではないことを知っていますが、要点はbashがそれを認識して正しいことを行おうとするが、しばしば失敗するということです。
Xセッションのttyと端末の両方でこれを再現します。私はヒットするとCtrl+ V、その後、Home私は(異なる配列を参照して^[OH
、Xに^[[1~
TTYに)が、両方は私の中にあるように見えます/etc/inputrc
。
# do not bell on tab-completion
#set bell-style none
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
$if mode=emacs
# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[7~": beginning-of-line
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# for rxvt
"\e[8~": end-of-line
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif
echo $TERM
ショーlinux
のttyでとxterm
Xセッションインチ
それは
GNU bash、バージョン4.2.24(2)-release(i686-pc-linux-gnu)
誰にもこれについての手掛かりがありますか?
PS1="\e[0;36m[\u@\h \W]\$ \e[m"
。何か問題はありますか?36文字を入力しても、1行に収まりません(断然)。また、ttyでの横スクロールはありません:)
PS1='$ '