HomeMevcut girişim yeterince kısaysa (diyelim <36 karakter) vurduğumda iyi çalışıyor. Ancak, daha uzun bir komut yazıp daha sonra başa dönmek istediğimde, işini yapıyor gibi görünüyor, ancak komut artık görüntülenmiyor . Sanki başlangıçta değilim, yaklaşık 10 karakterim varmış gibi görünüyor. "Körü körüne" yazarsam iyi çalışır, ancak tam bir karmaşaya benziyor, sanki tüm girdi sağa kaymış, ancak yeniden çizilmemiş gibi. Bu yüzden üzerine yazıyorum, ama "aslında" değil, çünkü "sildiğim" yer "aslında" 10 karakter sağda. Buna göre, komutu silmeye çalışırsam, ilk 10 karakter hala görüntülenir, ancak Entervurursam önceki giriş boşmuş gibi başka bir istem görüntüler.
Bunun şimdiye kadarki en iyi açıklama olmadığını biliyorum, ama mesele şu ki, bash onu tanır ve doğru olanı yapmaya çalışır, ancak çoğu zaman başarısız olur.
Bunu X oturumunda hem tty'de hem de terminalde yeniden üretiyorum. Ben vurduğunda Ctrl+ Vve sonra Homeben (farklı dizileri görmek ^[OH
, X ^[[1~
tty), ancak her ikisi de benim, görünmektedir /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
gösterileri linux
tty'den ve xterm
X oturumunda.
Onun
GNU bash, sürüm 4.2.24 (2) -çalışma (i686-pc-linux-gnu)
Bunun hakkında ipucu olan var mı?
PS1="\e[0;36m[\u@\h \W]\$ \e[m"
. Bunda yanlış olan bir şey var mı? 36 karakter yazmak bir satırı doldurmaz (açık ara). Ayrıca, tty içinde yan kaydırma yok :)
PS1='$ '