Yanıtlar:
MinTTY'yi zaten kullanıyordum ve yeni çizgiyi PS1'de kaldırmak da yardımcı olmadı. Bu sayfadaki tavsiyelerden biri yardımcı oldu. Bu bash komutunu çalıştırdım:
kill -WINCH $$
Benim durumumda, bunu bir kez çalıştırmak, oturumu kapatıp tekrar açtıktan sonra bile sorunu çözdü. Bunun her zaman böyle olup olmadığından emin değilim.
-WINCH
, bu terminal penceresinin yeniden boyutlandırıldığı bash işlemine işaret eder. Sanırım bu, her terminal penceresi yeniden boyutlandırıldıktan sonra yapılmalı.
Benim için çözüm, .bashrc dosyasına şu satırları eklemek oldu:
PS1='\[\e[32m\]\u@\h:\W> \[\e[0m\]'
TERM=cygwin
export PS1
export TERM
Bilgi isteminde yazdırılamayan karakterlerin \[
... içine dahil edilmesi gerektiğini unutmayın
\]
.
MinTTY ile de aynı sorunu yaşadım. Problemin birincil istemi (PS1) ile ilgisi olabilir.
Benim için özüm, son 'yeni satır' karakterini PS1'den kaldırmaktı ('$' işaretinden hemen önce):
user@host ~
$ echo $PS1
\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
user@host ~
$ export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ '
user@host ~ $
referans için http://cygwin.com/ml/cygwin/2001-07/msg00140.html adresine bakın .
Bu değişikliği kalıcı hale getirmek için dışa aktarma PS1 = '[\ e] 0; \ w \ a] \ n [\ e [32m] \ u @ \ h [\ e [33m] \ w [\ e [0m] \ ekleyin. $ '~ / .bashrc dosyasına.
@ jtpereyda'nın cevabı kesinlikle işaretinde. Ama nedense bunun gitmesine izin veremedim ve biraz daha derine indik.
Ayrıntılı şekilde Bu yoruma vim terminal süre (veya kabuk uzak tty'nin kontrolünü ele alır başka tam ekran uygulaması) yeniden boyutlandırmak eğer, sonuçta elde, SIGWINCH
genellikle edilir değil geri alır o doesn kontrol böylece zaman, kabuğun gönderilen terminalin yeniden boyutlandırıldığını bilmiyorum.
Terminalinizi yeniden boyutlandırdığınızda ioctl(..., TIOCSWINSZ, ...)
vimin çalıştığı ana pty'yi çağırması gerekir . Bu da bir killpg(SIGWINCH)
vim'in işlem grubuna yol açar .
Sorun vim'in kendi işlem grubunda, çalıştırıldığı kabuktan farklı olarak çalışmasıdır, bu yüzden bash kabuğu almaz SIGWINCH
ve satırlarını / sütunlarını uygun şekilde ayarlamaz.
Kalıcı bir geçici çözüm istiyorsanız, shopt -s checkwinsize
kendinize ekleyin .bashrc
. Bu bash ioctl(..., TIOCGWINSZ, ..)
her komuttan döndükten sonra pencere boyutunu ( ) kontrol eder ve satırlarını / sütunlarını günceller.
Terminal ayarlarınızda bir şeyler bozuk (muhtemelen).
Sanırım o oturumdan çıkmayı ve yeni bir oturum başlatmayı çoktan denediniz.
Cygwin terminali için bir çözüm bulamazsanız, MinTTY'yi deneyin (aslında daha iyi).
Akatakritos tarafından yorumlandığı gibi vim açıkken muhtemelen terminalinizi yeniden boyutlandırdınız.
Bu olduğunda, sadece bir kez daha terminali yeniden boyutlandırmak ve sorun gider.
TERM
Ortam değişkeni neye ayarlandı? Cygwin konsolu için olması gerektiği gibicygwin
.