winheight()
i winwidth()
zwróć liczbę kolumn / linii w bieżącym oknie. To, czego szukam, to coś bliższego rzeczywistej wysokości i szerokości obszaru edycji lub obszaru wyświetlanego, jeśli jest uruchamiany w terminalu. Problemem winheight()
i winwidth()
że współczynnik kształtu obliczono z tych wartości jest w kontakcie z rzeczywistą proporcji.
:echo winwidth('%') winheight('%') winwidth('%') * 1.0 / winheight('%')
104 51 2.039216
Zrzut ekranu obszaru bufora ma wymiary 936 x 918 pikseli, co daje wyświetlany współczynnik kształtu wynoszący 1.019608
. Myślę, że mogę uzyskać rzeczywistą wartość, używając rozmiaru czcionki, ale jak?
To kontynuacja Jak mogę pomóc Vimowi w otwarciu w pionie? . Próbuję dostosować rozwiązanie Nobe4 .
==#
operatorze, który :h
pomógł mi wyjaśnić, tak naprawdę zrozumiałem całe to dziwne polecenie. Czy to czyni mnie ekspertem od Vima? Musi być coś takiego. Potrzebujesz więcej wyjść.
cnoreabbrev h <C-r>=(&columns >= 160 && getcmdtype() ==# ':' && getcmdpos() == 1 ? 'vertical botright help' : 'h')<CR>
.