Jak ustawić domyślny rozmiar czcionki w Vimie?

94

Próbuję skonfigurować domyślne ustawienia mojego GUI w Vimie. Zrobiłem już badania w sieci, ale wszystkie rozwiązania, które znalazłem i wypróbowałem, nie zadziałały.

Oto kilka rzeczy, które wypróbowałem (w pliku .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

Właściwie nie obchodzi mnie czcionka Monaco.

Moebius
źródło
Pierwsza wygląda na poprawną. Zrestartowałeś Vima? Czy czcionka istnieje na twoim komputerze?
Rob
4
Vim zawiera bardzo obszerną dokumentację. Nie przeszukuj sieci: użyj :helpzamiast tego; jest szybszy i bardziej autorytatywny. W twoim przypadku wystarczyłby prosty :help font<C-d>, aby znaleźć :help guifonti nauczyć się, jak set guifontpoprawnie dla twojego systemu.
romainl

Odpowiedzi:

205

W przypadku pierwszego usuń spacje. Białe znaki mają znaczenie dla polecenia set.

set guifont=Monaco:h20

W przypadku drugiego powinno być (h określa wysokość)

set guifont=Monospace:h20

Moje zalecenie dotyczące ustawienia czcionki jest takie (jeśli Twoja wersja to obsługuje)

set guifont=*

Pojawi się menu, które pozwoli ci wybrać czcionkę. Po wybraniu czcionki wpisz

set guifont?

Aby pokazać, jaki jest ustawiony bieżący guifont. Następnie skopiuj tę linię do swojego vimrc lub gvimrc. Jeśli czcionka zawiera spacje, dodaj \spację.

set guifont=Monospace\ 20
FDinoff
źródło
Wypróbowałem następujące polecenie w moim .vimrc: set guifont = h18 || set guifont = Monospace: h18 || ustaw guifont = 18 i jeśli niektóre z nich powiększają policję, pojawia się problem: przestrzeń między znakami jest bardzo szeroka. Czemu ?
Moebius,
Właśnie zrozumiałem, że duża przestrzeń między znakami wynika z czcionki, która nie jest mono. Tylko czcionki z mono w nazwie będą wyświetlane bez dużej przestrzeni.
Moebius,
Gdzie znaleźć vimrc? Nie znalazłem go w menu Start po zainstalowaniu vima na win8.1
Lei Yang
1
@LeiYang Jeśli wpiszesz :versionvim, powinno wyświetlić listę lokalizacji, w których vim szuka pliku. To powinno być coś ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff
Czuję się głupio pytając o to, ale czy to działa na vimie na terminalu (tj. Nie na gvimie)?
0xc0de
15

Spróbuj \<Space>wcześniej 12, tak:

:set guifont=Monospace\ 12
pascal
źródło
1

Przekraczam ten sam problem, w którym umieściłem następujący kod w folderze ~/.gvimrci działa.

set guifont=Monaco:h20
Fan Bi
źródło
0

Dodaj Regular do składni i użyj gfn:

set gfn = Monospace \ Regular: h13

Farsheed
źródło
0

Pozostałe odpowiedzi są tym, o co pytałeś, ale na wypadek, gdyby było to przydatne dla kogoś innego, oto jak ustawić czcionkę warunkowo z ekranu DPI (tylko 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
9999 lat
źródło
@ 576i Co się dzieje po uruchomieniu wmic desktopmonitor get PixelsPerXLogicalInch /valuew cmd.exe?
9999 lat