Comment définir la taille de police par défaut dans Vim?

94

J'essaie de configurer les paramètres par défaut de 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 n'ont pas fonctionné.

Voici quelques-unes 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 Monaco.

Moebius
la source
Le premier semble correct. Avez-vous redémarré vim? De plus, la police existe-t-elle sur votre ordinateur?
Rob
4
Vim est livré avec une documentation très complète. Ne cherchez pas sur le Web: utilisez :helpplutôt; c'est plus rapide et plus autoritaire. Dans votre cas, un simple vous :help font<C-d>aurait suffi pour trouver :help guifontet apprendre comment set guifontcorrectement pour votre système.
romainl

Réponses:

201

Pour le premier, supprimez les espaces. Les espaces sont importants pour la commande set.

set guifont=Monaco:h20

Pour le second ça devrait être (le h spécifie la hauteur)

set guifont=Monospace:h20

Ma recommandation pour définir la police est de faire (si votre version le prend en charge)

set guifont=*

Cela fera apparaître un menu qui vous permet de sélectionner la police. Après avoir sélectionné la police, tapez

set guifont?

Pour montrer à quoi 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 échapper à l'espace.

set guifont=Monospace\ 20
FDinoff
la source
J'ai essayé la commande suivante dans mon .vimrc: set guifont = h18 || set guifont = Monospace: h18 || mettre guifont = 18 et si certains d'entre eux agrandissent la police, il y a un problème: l'espace entre chaque caractère est très large. Pourquoi ?
Moebius
Je viens de comprendre que le large espace entre les caractères est dû à la police qui n'est pas mono. Seules les polices avec le mono à l'intérieur de son nom seront affichées sans grand espace.
Moebius
Où trouver vimrc? Je ne l'ai pas trouvé dans le menu Démarrer après l'installation de vim sur win8.1
Lei Yang
1
@LeiYang Si vous tapez :versionvim, il devrait lister les emplacements où vim recherche le fichier. Il devrait être quelque chose comme ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff
Je me sens idiot de demander cela, mais cela fonctionne-t-il sur vim sur le terminal (c'est-à-dire pas gvim)?
0xc0de
15

Essayez un \<Space>avant 12, comme ceci:

:set guifont=Monospace\ 12
pascal
la source
0

Ajoutez Regular à la syntaxe et utilisez gfn:

set gfn = Monospace \ Regular: h13

Farsheed
la source
0

Les autres réponses sont celles que vous avez posées, 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
9999 ans
la source
@ 576i Qu'est - ce qui se passe lorsque vous exécutez wmic desktopmonitor get PixelsPerXLogicalInch /valuedans cmd.exe?
9999 ans
0

Je traverse le même problème, je mets le code suivant dans le dossier ~/.gvimrcet ça marche.

set guifont=Monaco:h20
Fan Bi
la source