Mod çizgisini ve minibufferi yukarı taşıma


13

Mod çizgisini ve minibufferi ekranın altından üstüne taşıyabilmemin bir yolu var mı?

Minibuffer önceki soru kapsamındadır Minacuffer içeriği emacs çerçevesinin ortasında nasıl görüntülenir? , bu nedenle bu soru öncelikle mod satırı ile ilgilidir.

Dizüstü bilgisayarımı düşürdüm ve ekranı kırdım, bu yüzden alt satırda çok fazla göremiyorum.


"Durum çubuğu" ile mod hattı veya minibuffer mı demek istediniz?
Malabarba


@Malabarba Üzgünüm emacs terminolojisinde% 100 daha fazla değilim. Her ikisini de kastediyorum. Ekranın altında fazla bir şey göremiyorum.
Mongus Pong

Yanıtlar:


19

İçeriği mode-linedeğişkende saklanır mode-line-format. Emacsiçeriği değişken tarafından yönlendirilen bir başlık satırını da destekler header-line-format.

Prensip olarak kullanabilirsiniz

(setq header-line-format mode-line-format)
(setq-default mode-line-format nil)

biçiminin header-linegeçerli mod satırınızın biçimine eşit olmasını sağlamak için mode-line.

Düzenle: Bu ayarı kalıcı olarak kullanmak istiyorsanız

(setq-default header-line-format mode-line-format)

init dosyanızda (bu öneri için nispio'ya teşekkürler).

minibufferÜstte de görünmesini istediğiniz için , @ Malabarba'nın minacuffer içeriğini emacs çerçevesinin ortasında nasıl görüntüleyeceğim sorusuna yeniden bağlayacağım. üstte minibufferi gösterecek şekilde uyarlanabilir. Ayrıca, @phils sorusuna cevap vermeyi düşünün Emacs minibuffer'ı ekranın üstüne taşımak mümkün mü? üzerinde "eski" emacs stackoverflow etiketi.

Bildiğim kadarıyla, minibufferi doğrudan zirveye koymanın bir yolu yok. Tek yaklaşım (yukarıdaki cevaplar tarafından da kullanılır) ikinci bir çerçeve kullanmaktır.


4
Bunu init dosyanıza ekliyorsanız, setq-defaultyerine kullanmak isteyeceksiniz setq.
nispio

Downvote nedenini sorabilir miyim?
elemakil

@elemakil Yanıt setq-default olmadan yanlıştı. Şimdi doğru. :-)
Malabarba

(teknik olarak kullanıcı tarafından sağlanan yeni ayrıntılarla ilgili artık eksik olsa da)
Malabarba

@Malabarba Anlıyorum. Temizlediğiniz için teşekkürler! :-)
elemakil

4

Asıl sorunuz Emacs'ın ekranınızın arızalı kısmından nasıl kaçınılacağıdır; mod çizgisi ve minibuffer sadece okunamaz hale gelme eğilimindedir.

Onları taşımak ve okunamayan ekran bölümünde başka bir şey (metin gibi) bırakmak yerine, daha temiz ve genel çözüm Emacs çerçevesini küçültmek ve hareket ettirmektir (yani genellikle bir pencere olarak adlandırılır), böylece tamamen iyi bir bölgede bulunur. ekran.

Emacs ile her zamanki gibi, bunun için özel araçlar var. Maxframe kütüphanesi ( Github home ), tüm ekranı otomatik olarak ihtiyacınız olanın tersi olan Emacs çerçevesiyle doldurmak için tasarlanmıştır, ancak mf-set-frame-pixel-sizeinit dosyasından set-frame-positionyerleştirmek için standart işlevle birlikte kullanılabilecek kullanışlı bir işlevi ortaya çıkarır . Emacs'ı açtığınızda otomatik olarak uygun konuma getirin.


1
Senin fikrini destekliyorum. Ancak bir paketi kesmek gerekli değildir. Bkz. Varsayılan çerçeve listesi .
Malabarba

Hakkında İlgisiz bir kayda göre, @Malabarba doc.endlessparentheses.com , neden sadece ikinci eğik çizgi ASCII koduna dönüştürülmüş? Örnek: Ben olsun http://doc.endlessparentheses.com/Var%2F2C-window-width.htmlben tıkladığımda 2C-window-width burada .
Kaushal Modi

@kaushalmodi Bu, dizinin oluşturulmasında küçük bir hata. Bağlantılarda düzenli eğik çizgiler kullanabilirsiniz ve bunlar iyi çalışır. Yerel olarak düzelttim, ancak dizini yenilemek saatler sürüyor, bu yüzden emacs 25'e kadar erteliyorum. :-)
Malabarba

1
@Malabarba: mf-set-frame-pixel-size yararlıdır, çünkü çerçeve yüksekliğini ve genişliğini ayarlamanın stok yolu bu senaryoda çok pratik olmayan piksellere göre değil karakterlere göre yapılır. default-frame-alist ve yakınları da karakter cinsinden ölçülür.
Lorenzo Gatti
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.