Ubuntu'da uzun zamandır beni rahatsız eden bir şey dikkatimi çekti; bir komut satırına terminal genişliğinden daha uzun (daha geniş) bir komut yazarken, yeni bir satıra sarılmak yerine, Aynı satırdaki sütun 1 ve komut satırımın başlangıcını üzerine yazmaya başlar. (Aslında gerçek komutun üzerine yazılmaz, ancak görsel olarak görüntülenen metnin üzerine yazılır).
Bunu görmeden açıklamak zor, ama diyelim ki terminalim 20 karakter genişliğinde (Mine daha çok 120 karakter gibidir - ama bir örnek uğruna) ve ben de İngiliz alfabesini yankılamak istiyorum. Yazdığım şey şudur:
echo abcdefghijklmnopqrstuvwxyz
Ama anahtarım çarpmadan önce terminalim nasıl görünüyor?
pqrstuvwxyzghijklmno
Girdiğimde girişte yankı
abcdefghijklmnopqrstuvwxyz
bu yüzden komutun doğru bir şekilde alındığını biliyorum. Sadece "o" dan sonra yazmamı kapattı ve aynı satırda başladı.
Ne olacağını umuyorum, bu komutu yalnızca 20 karakter genişliğindeki bir terminale girersem şu olurdu:
echo abcdefghijklmno
pqrstuvwxyz
Arka plan: Kabuğum olarak bash kullanıyorum ve bu satırı ~ / .bashrc dosyasında kullanıyorum:
set -o vi
VI komutları ile komut satırında dolaşabilmek. Şu anda Ubuntu 10.10 sunucusunu kullanıyorum ve sunucuya Putty ile bağlanıyorum.
Çalıştığım başka herhangi bir ortamda, uzun bir komut satırı yazarsam, komutum terminal genişliğinden daha uzun olduğunda ve yazmaya devam ettiğimde üzerinde çalıştığım satırın altına yeni bir satır ekler. 2 farklı hat. Fakat Ubuntu'yu kullanmayı hatırlayabildiğim sürece, uzun komutlarım sadece 1 satır işgal eder.
Bu aynı zamanda tarihteki önceki komutlara geri döndüğümde de olur (Esc'ye, ardından önceki komutlara geri dönmek için 'K' ye basın) - terminal genişliğinden daha uzun bir önceki komuta geldiğimde komut satırı karışık ve komutta nerede olduğumu söyleyemem.
Uzun komutun tamamını görmek için bulduğum tek çözüm, geçerli komutu VI düzenleyicide açan "Esc-V" yi tıklatmak.
.Bashrc dosyamda tuhaf bir şey olduğunu sanmıyorum. "Set -o vi" satırını yorumladım ve hala sorun yaşadım.
Yeni bir Putty kopyası indirdim ve konfigürasyonda herhangi bir değişiklik yapmadım - bağlanmak için sadece ana bilgisayar adımı yazdım ve hala sorunum var, bu yüzden Putty ile bir şey olduğunu sanmıyorum (gerekmedikçe) bazı yapılandırma değişiklikleri yap)
Başka biri bu sorunu yaşadı mı ve birileri nasıl düzeltebileceğini düşünebiliyor mu?
Düzenle
Benim .bashrc dosyamdı. Aynı profili makineden makineye kopyaladım ve $ PS1'imde bir şekilde onu fırlatan özel karakterler kullandım. Şimdi $ PS1'imin standart bash değişkenlerini yapıyorum.
.Bashrc'deki bahşiş için @ ændrük'e teşekkür ederiz!
... Düzenlemeyi Sonlandır ...
tput smam
/etc/skel/.bashrc
. Değişikliklerin geçerli olması için yeniden bağlanmanız gerekeceğini ve kendi .bashrc'nizi yedeklediğinizden emin olun.