J'essaie de configurer les paramètres par défaut pour mon interface graphique avec Vim. J'ai déjà fait des recherches sur le Web, mais toutes les solutions que j'ai trouvées et essayées ne fonctionnaient pas.
Voici certaines des choses que j'ai essayées (dans le fichier .vimrc):
set guifont = Monaco:h20
set guifont=Monospace 20
En fait, je me fiche de la police de Monaco.
Pour le premier supprimer les espaces. Les espaces blancs sont importants pour la commande set.
set guifont=Monaco:h20
Pour le second, cela devrait être (le h spécifie la hauteur)
set guifont=Monospace:h20
Ma recommandation pour définir la police est de le faire (si votre version le supporte)
set guifont=*
Cela fera apparaître un menu qui vous permet de sélectionner la police. Après ce type
set guifont?
Pour montrer ce que le guifont actuel est défini. Après cela, copiez cette ligne dans votre vimrc ou gvimrc. S'il y a des espaces dans la police, ajoutez un \
pour lui échapper.
set guifont=Monospace\ 20
Essayez un \<Space>
avant 12
, comme suit:
:set guifont=Monospace\ 12
Ajoutez Regular à la syntaxe et utilisez gfn
:
set gfn = Monospace\Regular: h13
Je croise le même problème que j'ai mis le code suivant dans le dossier ~/.gvimrc
et cela fonctionne.
set guifont=Monaco:h20
Les autres réponses correspondent à ce que vous avez demandé, mais au cas où cela serait utile à quelqu'un d'autre, voici comment définir la police de manière conditionnelle à partir de l'écran DPI (Windows uniquement):
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