Gvim'in pencere genişliğini 80 sütuna ve satır numarasını göstermek için gerekli olanlara nasıl ayarlayabilirim?


9

İle gvim kullanıyorum

set number

bence .vimrcher satırdan önce linenumber artı bir boşluk gösteriyor.

Belgede 10 satırdan az varsa, bu 2 sütun alır, 10'dan fazla sütun varsa, 3 sütun vb.

Eğer koyarsam

set lines=40 columns=80

içinde .gvimrc, satır sayısı artı hızı için 78 kod sütunu ve 2 veya 77 + 3 vb.

Pencere genişliği 80 sütun + linenumber göstermek için gerekli sütun sayısı ne olursa olsun ayarlanmasını istiyorum.

Dinamik olması gerekmez, ancak belirli bir dosyanın satır sayısını okuyabilir ve columnsbuna göre ayarlayabilirim . (Tabii ki, dinamik bir çözüm gerçekten düzgün olurdu, ancak zorunlu değildir)

Yanıtlar:


9

Bunu ~ / .vimrc dosyanızda deneyin:

au BufRead * let &numberwidth = float2nr(log10(line("$"))) + 2
          \| let &columns = &numberwidth + 80

En büyük satır numarasını göstermek için gereken sütun sayısını belirleyecek bir arabellek yüklediğinizde (yani bir dosya açtığınızda), 'sayı genişliği' seçeneğini buna göre ayarlayın ve 'sütunları' metniniz için artı 80 olarak ayarlayın .


Teşekkürler! Bir dosyayı açarken harika çalışıyor. Sekmeleri de değiştirirken bunun nasıl yapılacağı hakkında bir fikrin var mı? Şimdiden teşekkürler.
Elton Carvalho

1
Vim'in autocommand etkinlikleri adresinde listelenmiştir :help autocommand-events. Bunlar arasında ise TabEntersen değiştirmeyi deneyin böylece, BufReadtarafından BufRead,TabEnteryukarıdaki örnekte ve bu, istediğiniz davranışı verirse bakın. Bu olayla ilgili örneği kendim test etmedim.
garyjohn

Teşekkürler @garyjohn, TabEnter beklendiği gibi çalıştı. Belki daha sonra bu oto-olaylarla oynayacağım. Bunlar çok faydalı!
Elton Carvalho

1
@david_nash: dosyadaki 'numberwidth'satır sayısı ile sadece logaritmik olarak büyür, bu nedenle yatay alanı 'number'hiç etkinleştirebilseydiniz, sınırlama konusunda endişelenmeniz gerekeceğini düşünmezdim.
Garyjohn

1
@JonathanHartley: Bunu üçlü bir operatörle ( :help expr1) veya bir if / endif (ör :help options-in-terminal.) İle kontrol etmek yeterince kolay olurdu . Sorun değiştiğinde & sütunları 'number'değişiyor. OptionSet otomatik komut olayını kullanmayı düşündüm, ancak :help OptionSetbu olayı işlerken bir seçeneği sıfırlamanın kötü bir fikir olduğunu söylüyor.
garyjohn

2

kullanırım

set lines=24 columns=84

$ HOME / .gvimrc içinde bana ne istediğinizi verir. Nadiren (eğer varsa) 999 satırdan daha uzun dosyalara sahibim, bu yüzden benim için çalışıyor.


Yaptığım şey bu, ama tam olarak 80 sütun metin tutmak güzel çünkü bir satırda 81 karakter ile bitmesini önleyebilirim, bu büyük bir anlaşma değil, ama kaçınmak güzel.
Elton Carvalho

2

Sayıyı 5'e, sonra da sütunları 85'e (80 + 5) ayarladım. 0 satırdan milyon satıra kadar olan dosyalar için iyi olmalı.

İşte (varsayılan) ~ / .vimrc dosyasına koymanız gerekenler

set numberwidth=5  "Good for files upto a million lines
set columns=85
set nu

Satır numarasının, varsayılan '% d' biçimi yerine '% 5d' ile biçimlendirildiğini (5 yukarıdaki sayıdır), satır numaralarından önce biraz emlak israfını, ancak tutarlılığı koruduğunu göreceksiniz.


Süper Kullanıcıya Hoşgeldiniz. Lütfen çok eski bir soruya cevap gönderdiğinizi unutmayın. Bunu yaparken yanlış bir şey olmamasına rağmen, yanıt alamayabileceğinizi unutmayın.
CharlieRB
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.