imposta il font gvim nel file .vimrc


174

Sto usando gVim 7.2 su Windows 7. Posso impostare il font gui come Consolas 10 (dimensione del font) dal menu. Sto cercando di impostare questo nel .vimrcfile come di seguito:

set guifont=Consolas\ 10

Ma non funziona Qualcuno sa come impostare questo?

Risposte:


307

Uso il seguente (utilizza Consolas dimensione 11 su Windows, Menlo Regular dimensione 14 su Mac OS X e Inconsolata size 12 ovunque):

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

Modifica: E mentre ci sei, puoi dare un'occhiata al post sul blog di Programming Horror di Coding Horror .

Modifica²: aggiunto MacVim.


12
Quindi praticamente per Windows tutto ciò che serve è aggiungere set guifont=Consolas:h11:cANSIal ~/.vimrcfile
Jasdeep Khalsa il

9
È ancora meglio farlo da .gvimrc.
Alexei Averchenko,


1
Con Vim 8 che utilizza GTK 3, devi anche controllare "gui_gtk3".
Ruud,

2
Potresti aggiungere una spiegazione sul perché cANSIusato e se è addirittura necessario?
anishpatel,

83

Prova a impostare il carattere dal menu e quindi a digitare

:set guifont?

Questo dovrebbe mostrarti la stringa su cui Vim ha impostato questa opzione. Dovrai fuggire da qualsiasi spazio.


43

Sto cercando di impostare questo nel file .vimrc come di seguito

Per le impostazioni specifiche della GUI, utilizzare .gvimrcinvece di .vimrc, che su Windows è $HOME\_gvimrco $VIM\_gvimrc.

Controlla i :help .gvimrcdettagli. In sostanza, all'avvio VIM legge il .vimrc. Dopodiché, se la GUI è attivata, legge anche .gvimrc. IOW, tutte le impostazioni generali di VIM devono essere mantenute .vimrc, tutte le cose specifiche della GUI .gvimrc. (Ma se non usi la console VIM, puoi semplicemente dimenticarti di .vimrc.)

set guifont = Consolas \ 10

La sintassi è sbagliata. Dopo :set guifont=*puoi sempre controllare la sintassi corretta per il font usando :set guifont?. La sintassi di VIM Windows è :set guifont=Consolas:h10. Non vedo specifiche precise per questo, anche se è menzionato nel :help win32-faq.


37
  1. Avvia una sessione grafica di vim.
  2. Fare :e $MYGVIMRC Enter
  3. Utilizzare la finestra di dialogo di selezione dei caratteri grafica per selezionare un carattere.
  4. Tipo :set guifont= Tab Enter.
  5. Digitare G oper iniziare una nuova riga alla fine del file.
  6. Digita Ctrl+ Rseguito da :.

Il comando nel passaggio 6 inserirà il contenuto del :registro speciale che contiene l'ultimo comando ex-mode utilizzato. Qui sarà il comando dal passaggio 4, che ha il nome del carattere correttamente formattato grazie al completamento della scheda del valore precedentemente impostato utilizzando la finestra di dialogo della GUI.


Immagino che sia perché l'uso della finestra di dialogo di selezione dei caratteri grafica comporta l'esecuzione di un comando, come la maggior parte (tutti?) GUI e voci di menu simili in gvim. A volte puoi vedere i loro echi.
Evgeni Sergeev,

1
Sono sicuro che il menu esegue un comando, ma questo è irrilevante qui; l'unico effetto dell'interfaccia grafica utilizzata qui è che imposta l' guifontopzione, non che esegue alcun comando particolare.
qqx

Ho dovuto fare ":pper il passaggio 6 per ottenere l'ultimo comando ex-mode. Vedere questa risposta .
erik,

@erik Questo è un normale comando in modalità e non avrebbe dovuto funzionare lì poiché il passaggio 5 ti metterebbe in modalità inserimento. Inoltre, non garantisce che il comando incollato si trovi su una riga separata.
qqx

@qqx: Ok, colpa mia. Sono uscito in qualche modo dalla modalità di inserimento. Hai ragione. Ottima soluzione!
erik,

11

Per Windows, procedi come segue:

  1. Annotare il nome e la dimensione del carattere dal menu "Modifica-Seleziona carattere ..." di "gvim.exec".
  2. Quindi fa :e $MYGVIMRC
  3. Cerca la stringa "guifont" e modificala in set guifont=<font name as noted>:h<font size>
  4. Salva il file ed esci.
  5. La prossima volta che esegui gvim.exec, vedrai l'effetto.

6

Sebbene si tratti di un vecchio thread, ho pensato di aggiungere un commento quando l'ho trovato mentre cercavo di risolvere un problema simile; questo potrebbe aiutare chiunque altro a trovarsi qui:

Il carattere barra rovesciata viene utilizzato per ignorare il personaggio successivo; una volta aggiunto al nome del font nel mio gvimrc ha funzionato; Sono su una macchina GNU / Linux a cui non piacciono gli spazi. Ho il sospetto che il post iniziale sia stato un errore a causa della barra rovesciata utilizzata su un computer Windows.

Per esempio:

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

set guifont = DejaVu Sans Mono per Powerline 11

Dove ho bisogno di aggiungere questa riga al file gvimrc per la lettura:

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11

0

Ubuntu 14.04 LTS

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

Dopo if - endif block, digitare

set guifont=Neep\ 10

salva il file (: wq!). Qui "Neep" (a scelta) è lo stile del carattere e "10" indica la dimensione del carattere. Quindi crea nuovamente il font - cache.

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

Il font desiderato verrà impostato su gvim.


0

Ho dovuto finire per fare: set guifont = Courier: h10: cANSI

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.