Mx ansi döneminde Zsh ile sormadan 4 m önce başıboş iz


10

Geçenlerde okumak Emacs Kabuklar Koşu ve sınırlı yetenekleri ile çalışmak benim ayrıntılı Zsh istemi uyarlamak için biraz zaman harcamak M-x shellve M-x ansi-term.

Bu çabayı takiben, sonunda Zsh'ı Emacs içinden kullanabiliyorum, ancak küçük de olsa bir sıkıntı var M-x ansi-term. 4mKomut isteminden önce her zaman başıboş metni görüyorum .

Bilgi isteminden önce kaçak metin

Gördüğünüz gibi, bu fenomen gerçek istem temasından bağımsız gibi görünüyor. Ayrıca, herhangi bir süslü kontrol karakteri kullanmayan basit komutlar da dahil olmak üzere yerleşik istemlerden herhangi birinde görünür. Nitekim, varsayılan istemde bile olur, yani Zsh'ı benim olmadan başlatırsam .zshrc.

Aslında, bu sadece küçük bir sıkıntı ve ondan kurtulamasam bile umursamadım - çoğunlukla M-x shellbu sorunun oluşmadığı yerlerde tercih ederim .

Ama gerçekten hata ayıklamaya çalışsam da, bu sorunun nedenini bulamadığım beni gerçekten kızdırıyor. Bununla birlikte, terminaller hakkındaki anlayışımın oldukça sınırlı olduğunu söylemeliyim, bu yüzden çok açık olanı kaçırmış olabilirim.

OS X 10.10 kullanıyorum. Benim Emacs 25.0.50, doğrudan Homebrew ile gövde inşa ve özel bayraklar. Zsh, Yosemite'de olduğu gibi 5.0.5'tir, ancak sorun Homebrew aracılığıyla yüklenen 5.0.7 ile de ortaya çıkar.

Herkes bu konuya ışık tutabilir mi?


.Zshrc veya (setq system-uses-terminfo nil) dosyasında export TERM = xterm-256color ayarlamayı deneyin .
kmicu

system-user-terminfohiçbir şey değişmedi. Değişmek $TERMsorunu düzeltti, ancak çözüm bu olamaz, değil mi? Sonuçta, bu bir yalan, aslında: ansi-termxterm değil ve kesinlikle 256 rengi desteklemiyor.
lunaryorn

4m , bir rengi tanımlamak için kullanılan ANSI kaçış kodunun bir örneğidir, örneğin \x1b[37;4m37 ile beyaz bir rengi ve 4 ile altı çizili metni belirtir. Sorununuzu yeniden oluşturamıyorum. Benim zsh olan 5.0.7 ve '$ TERM echo' ansi vadede beni verir eterm-renk benim emacs olduğunu 24.4.1 . Ayrıca temiz varsayılan sürümü 'env HOME = ~ / tmp / emacstest emacs -Q' test ettim ve herhangi bir sorun göremiyorum.
kmicu

@kmicu OS X 10.10'da, sorunu emacs -QZsh yapılandırmasıyla tutarlı bir şekilde yeniden oluşturabilirim .
lunaryorn

Yanıtlar:


10

Görünüşe göre bu sorun için eksik terminfoeterm-color neden oluyor . Terminfo veritabanına uygun bir giriş yüklemek için bu cevaptaki talimatları izleyerek sorunu çözmeyi başardım. özellikle:

$ tic -o ~/.terminfo /usr/local/share/emacs/25.0.50/etc/e/eterm-color.ti

Bunun neden gerekli olduğuna hala emin değilim. term.elaslında $TERMINFObu dizine işaret eden değişkeni dışa aktarır , böylece kabuk terminfoyu bulabilmelidir. Zsh dizini görmezden geliyor gibi görünüyor ...

Yine de ~/.terminfo, yukarıdaki komut terminfo girişini Zsh için kullanılabilir hale getirir.

Herkes daha iyi bir açıklama ya da manuel müdahale gerektirmeyen bir çözüm sağlayabilir olsaydı sevinirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.