Cygwin'i daha yeni yükledim ve BACKSPACE işlevi orada değil, yani Backspace tuşuna bastığımda bir boşluk elde ediyorum.
Bu konuyu Google’da araştırmaya çalışıyorum ancak net bir şey bulamadım.
stty
komutun çıktısı nedir?
Cygwin'i daha yeni yükledim ve BACKSPACE işlevi orada değil, yani Backspace tuşuna bastığımda bir boşluk elde ediyorum.
Bu konuyu Google’da araştırmaya çalışıyorum ancak net bir şey bulamadım.
stty
komutun çıktısı nedir?
Yanıtlar:
Benim durumumda boşluk ~ / .vimrc oluşturulduktan sonra geri çalışma hiç çalışmadı. Değişikliğin ardından işe yaradı
Koymak:
bs = 2 olarak ayarla
içinde .vimrc
Bunu http://linux-journal.blogspot.com/2005/04/fix-vim-backspace-doesnt-work.html adresinde bulabilirsiniz.
Benim için çalıştı: Windows komut isteminde, yazın
echo export TERM=cygwin >> C:/cygwin/home/YourUser/.bashrc
Bu ekleyecektir .bashrc
ve her şey güzel çalışabilir!
TERM
ayarlanan ortam değişkenine sahip oldum . Basitçe sıfırlayarak içinde yardım etmedi, ancak kaldırarak , Windows ayarlarını yaptım gelen girdiyi. Beni doğru yöne yönlendirdiğin için teşekkürler! msys
git
cygwin
.bashrc
TERM
Yukarıdaki gibi sunulan bir soruna bir çözüm buldum .
Basitçe tekrar Cygwin kurulumu çalıştırmak ve yeniden termcap
ve terminfo
. Arama kutusunu kullanırsanız hızlı bir şekilde bulabilirsiniz. Her biri için "Sakla" demek yerine, "Yeniden Yükle" demek için tıklayın. Aramada term
görünmek için "Eskiyi Gizle" onay kutusunu işaretlemeniz gerekebilir .
Terminfo klasörüm tamamen eksikti. Neden hiçbir fikrim yok. Umarım bu birine yardımcı olur.
TERM türünü ayarladığınızda, ana bilgisayara terminal penceresi içinde çizmek için hangi TERMCAP'i kullanacağını söylersiniz. Çoğu * NIX sunucusu, 'cygwin' terim tipinin ne olduğunu bilmediğinden, ekler, silme, kaydırmalar, yazı tipi değişiklikleri vb.
TERM değişkenini CYGWIN içinde telnet veya SSH'den önce bir sunucuya değiştirirseniz çok daha iyi sonuçlar alırsınız:
CYGWIN’de:
d@test01 ~
$ TERM=ansi;export TERM
$ ssh suntest1
d@suntest1's password:
Sun Microsystems Inc. SunOS 5.8 Generic patch October 2001
d pts/1 test01 Fri Oct 12 00:15 still logged in
$ echo $TERM
ansi
$_
Ana bilgisayar artık bir ANSI terminal türüne sahip olduğunuzu biliyor ve nasıl iletişim kuracağını anlatmak için ANSI TERMCAP dosyasını kullanabilir.
Bunu başaramazsanız ve geri alma dışında her şey düzgün çalışıyorsa, istediğinizi tanımak için bağlandığınız ana bilgisayardaki "getty" yi yeniden programlayabilirsiniz (ve bu en eski, en yaygın ve en evrensel olanıdır) geri alma / silme sorunlarını çözme yolu):
Sunucunuza ssh veya telnet, host ise stty komutunu çalıştırın. "BACKSPACE" tuşuna basarsanız ve geriye gitmezse, terminal muhtemelen TERM türüne göre farklı bir karakter aramaktadır. Bunların hepsini kazmak yerine, geri alma tanımını CLI'de veya .profile, .bashrc veya .bash-profil dosyasında $ HOME dizininizde istediğiniz gibi veya lezzetine bağlı olarak elle ayarlayabilirsiniz. kullanarak.
Böylece, ^ H (bu CONTROL-H) tuşuna basarsanız ve anahtarınız yedeklenir, ancak BACKSPACE tuşuna basarsanız ve stty'yi aşağıdaki gibi kullanmayı denemez:
stty erase \*<HIT YOUR BACKSPACE KEY HERE>*[ENTER]
Çoğu zaman şöyle görünecek:
stty erase \^?[ENTER]
'\', Bir sonraki karakterin yazdırılamayan bir kontrol karakteri olacağını ve onu “yorumlamak” yerine kabul edeceğini söyler.
[ENTER] 'a bastığınızda, [BACKSPACE] tuşuna basmanız ve girdiğiniz yazıyı geri almanız / silmeniz gerekir.
Bunu kabuğunuzda ayarlayabilirsiniz.
Şimdi, hala VI kullanıyorsanız, bazen çeviri çalışmaz ve aslında vi'yi ^ H yazmanız gerekir, ancak bu sorun değil.
Söyleyebilirdin:
stty k silmek [ENTER]
ve kelimenin tam anlamıyla 'k' yi silme / silme karakterine çevirirdi.
-D
Tamam, bu sorunu Cygwin kurulumunu manuel olarak güncellerken yaşadım. Her neyse , bu yazıyı buldum , ki bu da kurulumum için çözüme ulaştırıyor.
Eski cygwin'de bir dosya vardı /etc/terminfo/c/cygwin
, fakat yeni cygwin'de dosyanın olması bekleniyordu /etc/terminfo/63/cygwin
.
Bir kere "cygwin" dosyasını bu yere kopyaladığımda, bash shell backspace anahtarı sekme ve diğerleri gibi iyi çalıştı.
Değişen TERM
değişkeni cygwin
ve ekleme SET TERM=cygwin
için .bat
benim için işe yaramadı dosyası, ama ben düzelttim. İşte ne yaptım: paket yöneticisinde yüklemesi nedeniyle yüklemem seçilen xterm: X11 terminal emulator
ekledim kurulum sonrasında SET TERM=xterm
üzere .bat
(yukarıda önerilen gibi) dosyası, terminal başlatılan ve içinde, Seçenekler -> Terminal menü seçilen Type=xterm
, daha sonra terminali yeniden başlattı. Backspace düzgün çalışmaya başladı!
Not: Eğer zaten cygwin'i yüklediyseniz - sadece installer'ı tekrar çalıştırın ve xterm paketi ekleyin.
Koşuyorum:
Buradaki tüm cevaplara katılıyorum. Fakat burada çok daha basit bir yol var: http://lifepluslinux.blogspot.in/2014/08/backspace-doesnt-work-in-vim-on-cygwin.html
2 gün geçirdikten sonra çevrimiçi bir şeyler okuyun. Bunu benim için işe yarayan buldum. Bu davanın hepsiyle uyuşup uyuşmadığını bilmiyorum. Ama Yüksel sayesinde bana bir cazibe gibi geldi
Sorun 'termInfo' dosyalarındaydı, önerdiği adımlar:
problemin CygWin Terminaline yazarak terminalle ilgili olup olmadığını onaylayın, bu vermelidir (uyarıyı dikkate almayın)
less my_session.log
UYARI: terminal tam olarak çalışmıyor
CygWin Terminalinde aşağıdaki kodu yazarak hangi yol veya dizinin ilişkili olduğu 'TermCap' bilgisini alın.
infocmp -C
ya almalısın
infocmp: terminfo dosyasını açamadı / usr / share / terminfo / 63 / cygwin
Veya 'infocmp ile yeniden oluşturulmuş ...' gibi bir metinle başlayan bir şey de alabilirsiniz.
Dosyaların kaydedildiği yol hakkında ek bilgi almak amacıyla tanılamayı çalıştırmak için aşağıdaki kodu CygWin Terminalinde çalıştırın
cygcheck -s
aşağıdaki metne benzer şekilde cevap vermeli
Cygwin Konfigürasyon Teşhisi
...
C: / cygwin / sistem ikili, noacl
C: / cygwin / bin / usr / bin sistem ikili, noacl
C: / cygwin / lib / usr / lib sistem ikili, noacl
C: \ cygwin \ etc \ terminfo / usr / share / terminfo sistem ikili, noacl
cygdrive öneki / cygdrive kullanıcı ikili, noacl, posix = 0, otomatik
...
C: \ cygwin \ etc \ terminfo / usr / share / terminfo sistem ikili, noacl
çıktıdan 3. adımdan geçtiniz. şimdi tüm iç mevcut dosya ve klasörleri kopyalamak / usr / share / terminfo için klasör C: \ cygwin \ vb \ terminfo'ya - NOT: Bu klasör tesisata bağlı sizinkinden farklı olabilir
Lütfen aşağıdaki resmi takip edin
options
Keys
sekmesiniBackarrow sends ^H
Bu benim için çalışan tek şey, özellikle de eğer bir sunucuya SSH yapmak zorundaysanız (tüm düzeltmeler işe yaramazsa) stty erase ^?
.bashrc'ime eklerdim ama bu sadece zamanın% 80'ini düzeltti.
Senin problemini hiç yaşamadım. Terminal Emulator Mintty'yi yüklemeyi deneyin ( http://code.google.com/p/mintty/ ).
Cygwin kurucusu aracılığıyla edinilebilir. Cygwin için en iyi terminal.