Używam gvim z
set number
u mnie .vimrc
pokazuje numer pościeli plus spację przed każdą linią.
Jeśli dokument ma mniej niż 10 wierszy, zajmuje to 2 kolumny, Jeśli ma więcej niż 10, 3 kolumny i tak dalej.
Jeśli tak
set lines=40 columns=80
w .gvimrc
, to pokaże 78 kolumny kodu i 2 dla LineNumber powiększonej tempie, lub 77 + 3 i tak dalej.
Chciałbym, aby szerokość okna była ustawiona na 80 kolumn + dowolna liczba kolumn potrzebna do wyświetlenia numeru bielizny.
Nie musi być dynamiczny, ale chciałbym móc odczytać liczbę wierszy danego pliku i columns
odpowiednio ustawić . (Oczywiście dynamiczne rozwiązanie byłoby naprawdę fajne, ale nie konieczne)
:help autocommand-events
. Wśród nich jestTabEnter
, więc możesz spróbować zastąpićBufRead
przezBufRead,TabEnter
w powyższym przykładzie i sprawdzić, czy daje to pożądane zachowanie. Sam nie testowałem przykładu z tym wydarzeniem.'numberwidth'
rośnie tylko logarytmicznie z liczbą linii w pliku, więc jeśli możesz sobie pozwolić na włączenie przestrzeni poziomej'number'
, nie sądzę, że będziesz musiał się martwić o jej ograniczenie.:help expr1
) lub if / endif (np:help options-in-terminal
.). Problem zmienia się i kolumny po'number'
zmianie. Myślałem o użyciu zdarzenia autocommandu OptionSet, ale:help OptionSet
powiedziałem, że resetowanie opcji podczas przetwarzania tego zdarzenia jest złym pomysłem.używam
w moim $ HOME / .gvimrc, który daje mi to, czego chcesz. Rzadko (jeśli w ogóle) mam pliki dłuższe niż 999 linii, więc działa dla mnie.
źródło
Ustawiłem szerokość na, powiedzmy, 5, a następnie ustawiłem kolumny na 85 (80 + 5). To powinno być dobre dla plików od 0 linii do miliona linii.
Oto, co może być konieczne do umieszczenia (domyślnie) pliku ~ / .vimrc
Zobaczysz, że numer linii jest sformatowany za pomocą „% 5d” (5 to szerokość powyżej), zamiast domyślnego formatu „% d”, marnując trochę nieruchomości przed numerami linii, ale zachowując spójność.
źródło