winheight()
y winwidth()
devuelve el número de columnas / líneas en la ventana actual. Lo que estoy buscando es algo más cercano a la altura y el ancho reales del área de edición, o al área mostrada si se ejecuta en una terminal. El problema con winheight()
y winwidth()
es que la relación de aspecto calculada a partir de estos valores está fuera de contacto con la relación de aspecto real.
:echo winwidth('%') winheight('%') winwidth('%') * 1.0 / winheight('%')
104 51 2.039216
Una captura de pantalla del área del búfer tiene un tamaño de 936x918 píxeles, con una relación de aspecto visualizada de 1.019608
. Creo que puedo obtener el valor real usando el tamaño de la fuente, pero ¿cómo?
Este es un seguimiento de ¿Cómo puedo hacer que Vim abra la ayuda en una división vertical? . Estoy tratando de adaptar la solución de Nobe4 .
==#
operador que :h
ayudó a aclarar, realmente entendí todo el maldito comando. ¿Eso me convierte en un experto de Vim? Tiene que ser algo así. Necesito salir más.
cnoreabbrev h <C-r>=(&columns >= 160 && getcmdtype() ==# ':' && getcmdpos() == 1 ? 'vertical botright help' : 'h')<CR>
.