106 votes

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

Je suis en train d'essayer 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.

0 votes

Le premier semble correct. Avez-vous redémarré vim ? De plus, la police existe-t-elle sur votre machine ?

4 votes

Vim est livré avec une documentation très étendue. Ne cherchez pas sur le Web : utilisez plutôt :help; c'est plus rapide et plus fiable. Dans votre cas, un simple :help font aurait suffi pour trouver :help guifont et apprendre comment set guifont correctement pour votre système.

230voto

FDinoff Points 13897

Pour le premier, supprimez les espaces. L'espace blanc est important pour la commande set.

set guifont=Monaco:h20

Pour le deuxième, cela 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 affichera un menu vous permettant de sélectionner la police. Après avoir sélectionné la police, tapez

set guifont?

Pour afficher la police guifont actuelle. Ensuite, copiez cette ligne dans votre vimrc ou gvimrc. Si la police contient des espaces, ajoutez un \ pour échapper à l'espace.

set guifont=Monospace\ 20

0 votes

J'ai essayé la commande suivante dans mon .vimrc : set guifont=h18 || set guifont=Monospace:h18 || set guifont=18 et si certains d'entre eux rendent la police plus grande, il y a un problème : l'espace entre chaque caractère est très large. Pourquoi ?

0 votes

Je viens de comprendre que l'espace large entre les caractères est dû à la police de caractères qui n'est pas mono. Seules les polices avec "mono" dans leur nom seront affichées sans espace large.

0 votes

Où trouver vimrc? Je ne l'ai pas trouvé dans le menu Démarrer après avoir installé vim sur Win8.1

18voto

pascal Points 51

Essayer un \ avant 12, comme ceci:

:set guifont=Monospace\ 12

2voto

Fan Bi Points 43

Je rencontre le même problème J'ai mis le code suivant dans le dossier ~/.gvimrc et cela fonctionne.

set guifont=Monaco:h20

0voto

Farsheed Points 397

Ajoutez Regular à la syntaxe et utilisez gfn :

définir gfn= Monospace\ Regular:h13

0voto

9999years Points 601

Les autres réponses sont 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 en fonction de la DPI de l'écran (Windows uniquement):

set guifont=default
if has('windows')
    "obtenir la dpi, supprimer les déchets utf-16 et les sauts de ligne
    "system() convertit 0x00 en 0x01 pour 'l'indépendance de la platforme'
    "devrait renvoyer quelque chose comme 'PixelsPerXLogicalInch=192'
    "obtenir la partie de = jusqu'à la fin de la ligne (par ex '=192') et supprimer
    "le premier caractère
    "et convertir en un nombre
    let dpi = str2nr(strpart(matchstr(substitute(
        \system('wmic desktopmonitor get PixelsPerXLogicalInch /value'),
        \'\%x01\|\%x0a\|\%x0a\|\%xff\|\%fe', '', 'g'),
        \'=.*$'), 1))
    if dpi > 100
        set guifont=high_dpi_font
    endif
endif

0 votes

@576i Que se passe-t-il lorsque vous exécutez wmic desktopmonitor get PixelsPerXLogicalInch /value dans cmd.exe?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X