définir la police gvim dans le fichier .vimrc

174

J'utilise gVim 7.2 sur Windows 7. Je peux définir la police gui comme Consolas 10 (taille de police) dans le menu. J'essaie de définir cela dans un .vimrcfichier comme ci-dessous:

set guifont=Consolas\ 10

Mais ça ne marche pas. Est-ce que quelqu'un sait comment régler cela?

Yongwei Xing
la source

Réponses:

307

J'utilise ce qui suit (utilise la taille 11 de Consolas sur Windows, la taille régulière de Menlo 14 sur Mac OS X et la taille 12 d'Inconsolata partout ailleurs):

if has("gui_running")
  if has("gui_gtk2")
    set guifont=Inconsolata\ 12
  elseif has("gui_macvim")
    set guifont=Menlo\ Regular:h14
  elseif has("gui_win32")
    set guifont=Consolas:h11:cANSI
  endif
endif

Edit: Et pendant que vous y êtes, vous pouvez jeter un œil au billet de blog Coding Horror Programming Fonts .

Edit²: Ajout de MacVim.

Morten Siebuhr
la source
12
Donc, fondamentalement, pour Windows, tout ce dont vous avez besoin est d'ajouter set guifont=Consolas:h11:cANSIau ~/.vimrcfichier
Jasdeep Khalsa
9
C'est encore mieux de le faire à partir de .gvimrc.
Alexei Averchenko
1
Voici un article de blog
fratrik
1
Avec Vim 8 utilisant GTK 3, vous devez également vérifier "gui_gtk3".
Ruud
2
Pourriez-vous ajouter une explication sur la raison de son cANSIutilisation et si c'est même nécessaire?
anishpatel
83

Essayez de définir votre police dans le menu, puis tapez

:set guifont?

Cela devrait afficher la chaîne sur laquelle Vim a défini cette option. Vous devrez échapper à tous les espaces.

Greg Sexton
la source
43

J'essaye de définir ceci dans le fichier .vimrc comme ci-dessous

Pour les paramètres spécifiques à l'interface graphique, utilisez au .gvimrclieu de .vimrc, qui sous Windows est soit $HOME\_gvimrcou $VIM\_gvimrc.

Consultez le :help .gvimrcpour plus de détails. En substance, au démarrage, VIM lit le fichier .vimrc. Après cela, si GUI est activé, il lit également le fichier .gvimrc. IOW, tous les paramètres généraux de VIM doivent être conservés .vimrc, toutes les choses spécifiques à l'interface graphique .gvimrc. (Mais si vous n'utilisez pas la console VIM, vous pouvez simplement oublier le .vimrc.)

set guifont = Consolas \ 10

La syntaxe est fausse. Après, :set guifont=*vous pouvez toujours vérifier la syntaxe appropriée pour la police en utilisant :set guifont?. La syntaxe Windows VIM est :set guifont=Consolas:h10. Je ne vois pas de spécification précise pour cela, bien que cela soit mentionné dans le :help win32-faq.

Dummy00001
la source
37
  1. Démarrez une session graphique vim.
  2. Faire :e $MYGVIMRC Enter
  3. Utilisez la boîte de dialogue de sélection de police graphique pour sélectionner une police.
  4. Tapez :set guifont= Tab Enter.
  5. Tapez G opour commencer une nouvelle ligne à la fin du fichier.
  6. Tapez Ctrl+ Rsuivi de :.

La commande de l'étape 6 insérera le contenu du :registre spécial qui contient la dernière commande de mode ex utilisée. Ici, ce sera la commande de l'étape 4, qui a le nom de police correctement formaté grâce à la complétion par tabulation de la valeur précédemment définie à l'aide de la boîte de dialogue GUI.

qqx
la source
Je suppose que c'est parce que l'utilisation de la boîte de dialogue de sélection de police graphique entraîne l'exécution d'une commande, comme la plupart (tous?) Des éléments d'interface graphique et de menu similaires dans gvim. Parfois, vous pouvez voir leurs échos.
Evgeni Sergeev
1
Je suis sûr que le menu exécute une commande, mais ce n'est pas pertinent ici; le seul effet de l'interface graphique utilisée ici est qu'elle définit l' guifontoption, non qu'elle exécute une commande particulière.
qqx
J'ai dû faire ":ppour l'étape 6 pour obtenir la dernière commande ex-mode. Voyez cette réponse .
erik
@erik C'est une commande en mode normal, et cela n'aurait pas dû y fonctionner puisque l'étape 5 vous placerait en mode insertion. Cela ne garantit pas non plus que la commande collée se trouve sur une ligne distincte.
qqx
@qqx: Ok, ma faute. J'ai quitté en quelque sorte le mode d'insertion. Vous avez raison. Excellente solution!
erik
11

Pour Windows, procédez comme suit:

  1. Notez le nom et la taille de la police dans le menu "Edition-Sélectionner la police ..." de "gvim.exec".
  2. Alors fais :e $MYGVIMRC
  3. Recherchez la chaîne "guifont" et remplacez-la par set guifont=<font name as noted>:h<font size>
  4. Enregistrez le fichier et quittez.
  5. La prochaine fois que vous exécuterez gvim.exec, vous verrez l'effet.
Hradayeshkumar Sharma
la source
6

Bien que ce soit un vieux fil, j'ai pensé que j'ajouterais un commentaire car je l'ai rencontré en essayant de résoudre un problème similaire; cela pourrait aider toute autre personne qui se trouverait ici:

La barre oblique inverse est utilisée pour ignorer le caractère suivant; une fois ajouté au nom de la police dans mon gvimrc, cela a fonctionné; Je suis sur une machine GNU / Linux qui n'aime pas les espaces. Je soupçonne que le message initial était une erreur en raison de l'utilisation de la barre oblique inverse sur une machine Windows.

Par exemple:

:set guifont?  ## From gvim command, would give the following:

set guifont = DejaVu Sans Mono pour Powerline 11

Où je devais ajouter cette ligne au fichier gvimrc pour qu'il soit lu:

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11
iain
la source
0

Ubuntu 14.04 LTS

:/$ cd etc/vim/
:/etc/vim$ sudo gvim gvimrc

Après if - bloc endif , tapez

set guifont=Neep\ 10

enregistrez le fichier (: wq!). Ici "Neep" (votre choix) est le style de police et "10" correspond à la taille de la police. Puis construisez à nouveau la police - cache.

:/etc/vim$ fc-cache -f -v

La police souhaitée sera définie sur gvim.

Saket
la source
0

J'ai dû finir par faire: set guifont = Courier: h10: cANSI

SuperManu
la source