Come imposto la dimensione del carattere predefinita in Vim?


94

Sto cercando di configurare le impostazioni predefinite per la mia GUI con Vim. Ho già fatto ricerche sul web, ma tutte le soluzioni che ho trovato e provato non hanno funzionato.

Ecco alcune delle cose che ho provato (nel file .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

In realtà non mi interessa il carattere Monaco.


Il primo sembra corretto. Hai riavviato vim? Inoltre, il carattere esiste sulla tua macchina?
Rob

4
Vim viene fornito con una documentazione molto ampia. Non cercare nel web: usa :helpinvece; è più veloce e più autorevole. Nel tuo caso, :help font<C-d>sarebbe stato sufficiente per te trovare :help guifonte imparare come fare set guifontcorrettamente per il tuo sistema.
romainl

Risposte:


201

Per il primo rimuovere gli spazi. Gli spazi bianchi sono importanti per il comando set.

set guifont=Monaco:h20

Per il secondo dovrebbe essere (la h specifica l'altezza)

set guifont=Monospace:h20

Il mio consiglio per impostare il carattere è di fare (se la tua versione lo supporta)

set guifont=*

Apparirà un menu che ti permetterà di selezionare il carattere. Dopo aver selezionato il carattere, digita

set guifont?

Per mostrare su cosa è impostato il guifont corrente. Dopo quella copia quella riga nel tuo vimrc o gvimrc. Se ci sono spazi nel carattere aggiungi a \per sfuggire allo spazio.

set guifont=Monospace\ 20

Ho provato il seguente comando nel mio .vimrc: set guifont = h18 || imposta guifont = Monospazio: h18 || imposta guifont = 18 e se alcuni ingrandiscono la polizia, c'è un prblema: lo spazio tra ogni carattere è molto ampio. Perché ?
Moebius

Ho appena capito che l'ampio spazio tra i caratteri è dovuto al font che non è mono. Solo i caratteri con il mono all'interno del nome verranno visualizzati senza ampio spazio.
Moebius

Dove trovare vimrc? Non l'ho trovato nel menu di avvio dopo aver installato vim su win8.1
Lei Yang

1
@LeiYang Se digiti :versionvim dovrebbe elencare le posizioni in cui vim cerca il file. Dovrebbe essere qualcosa di simile ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff

Mi sento sciocco chiederlo, ma funziona su vim sul terminale (cioè non gvim)?
0xc0de

15

Prova un \<Space>prima 12, in questo modo:

:set guifont=Monospace\ 12

0

Aggiungi Regular alla sintassi e usa gfn:

set gfn = Monospace \ Regular: h13


0

Le altre risposte sono quelle che hai chiesto, ma nel caso sia utile a qualcun altro, ecco come impostare il carattere in modo condizionale dallo schermo DPI (solo Windows):

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

@ 576i Cosa succede quando si esegue wmic desktopmonitor get PixelsPerXLogicalInch /valuein cmd.exe?
9999 anni

0

Incrocio lo stesso problema inserisco il seguente codice nella cartella ~/.gvimrce funziona.

set guifont=Monaco:h20
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.