¿Cómo configuro el tamaño de fuente predeterminado en Vim?


94

Estoy intentando configurar la configuración predeterminada para mi GUI con Vim. Ya hice una investigación en la web, pero todas las soluciones que encontré y probé no funcionaron.

Estas son algunas de las cosas que probé (en el archivo .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

En realidad, no me importa la fuente Monaco.


El primero parece correcto. ¿Reiniciaste vim? Además, ¿existe la fuente en su máquina?
Rob

4
Vim viene con una documentación muy extensa. No busque en la web: utilice :helpen su lugar; es más rápido y más autorizado. En su caso, un simple :help font<C-d>hubiera sido suficiente para encontrar :help guifonty aprender a hacerlo set guifontcorrectamente para su sistema.
romainl

Respuestas:


201

Para el primero, elimine los espacios. El espacio en blanco es importante para el comando set.

set guifont=Monaco:h20

Para el segundo debería ser (la h especifica la altura)

set guifont=Monospace:h20

Mi recomendación para configurar la fuente es hacerlo (si su versión lo admite)

set guifont=*

Aparecerá un menú que le permitirá seleccionar la fuente. Después de seleccionar la fuente, escriba

set guifont?

Para mostrar en qué está configurado el guifont actual. Después de eso, copie esa línea en su vimrc o gvimrc. Si hay espacios en la fuente, agregue un \para escapar del espacio.

set guifont=Monospace\ 20

Probé el siguiente comando en mi .vimrc: set guifont = h18 || set guifont = Monospace: h18 || establece guifont = 18 y si alguno de ellos agranda a la policía, hay un problema: el espacio entre cada personaje es muy amplio. Por qué ?
Moebius

Acabo de entender que el amplio espacio entre caracteres se debe a que la fuente no es mono. Solo las fuentes con el mono dentro de su nombre se mostrarán sin espacios amplios.
Moebius

¿Dónde encontrar vimrc? No lo encontré en el menú de inicio después de instalar vim en win8.1
Lei Yang

1
@LeiYang Si escribe :versionvim, debería enumerar las ubicaciones donde vim busca el archivo. Debe ser algo así como ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff

Me siento tonto al preguntar esto, pero ¿funciona esto en vim en la terminal (es decir, no en gvim)?
0xc0de

15

Prueba un \<Space>antes 12, así:

:set guifont=Monospace\ 12

0

Agregue Regular a la sintaxis y use gfn:

set gfn = Monoespacio \ Regular: h13


0

Las otras respuestas son sobre las que preguntaste, pero en caso de que sea útil para alguien más, aquí te mostramos cómo configurar la fuente condicionalmente desde la pantalla DPI (solo Windows):

set guifont=default
if has('windows')
    "get dpi, strip out utf-16 garbage and new lines
    "system() converts 0x00 to 0x01 for 'platform independence'
    "should return something like 'PixelsPerXLogicalInch=192'
    "get the part from the = to the end of the line (eg '=192') and strip
    "the first character
    "and convert to a number
    let dpi = str2nr(strpart(matchstr(substitute(
        \system('wmic desktopmonitor get PixelsPerXLogicalInch /value'),
        \'\%x01\|\%x0a\|\%x0a\|\%xff\|\%xfe', '', 'g'),
        \'=.*$'), 1))
    if dpi > 100
        set guifont=high_dpi_font
    endif
endif

@ 576i ¿Qué ocurre cuando se ejecuta wmic desktopmonitor get PixelsPerXLogicalInch /valueen cmd.exe?
9999 años

0

Cruzo el mismo problema, pongo el siguiente código en la carpeta ~/.gvimrcy funciona.

set guifont=Monaco:h20
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.