ustaw czcionkę gvim w pliku .vimrc

174

Używam gVim 7.2 na Windows 7. Mogę ustawić czcionkę gui na Consolas 10 (rozmiar czcionki) z menu. Próbuję to ustawić w .vimrcpliku jak poniżej:

set guifont=Consolas\ 10

Ale to nie działa. Czy ktoś wie jak to ustawić?

Yongwei Xing
źródło

Odpowiedzi:

307

Używam następujących (używa Consolas w rozmiarze 11 w systemie Windows, Menlo Regular w rozmiarze 14 w systemie Mac OS X i Inconsolata w rozmiarze 12 we wszystkich innych miejscach):

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

Edycja: A kiedy już to zrobisz, możesz rzucić okiem na wpis na blogu Coding Horror's Programming Fonts .

Edycja²: dodano MacVim.

Morten Siebuhr
źródło
12
Zasadniczo w przypadku systemu Windows wszystko, czego potrzebujesz, to dodać set guifont=Consolas:h11:cANSIdo ~/.vimrcpliku
Jasdeep Khalsa
9
Jeszcze lepiej to zrobić od .gvimrc.
Alexei Averchenko
1
Oto zaktualizowany post na blogu
fratrik
1
Z Vimem 8 używającym GTK 3, musisz również sprawdzić "gui_gtk3".
Ruud
2
Czy możesz dodać wyjaśnienie, dlaczego został cANSIużyty i czy jest w ogóle potrzebny?
anishpatel
83

Spróbuj ustawić czcionkę w menu, a następnie zacznij pisać

:set guifont?

Powinno to wyświetlić ci napis, na który Vim ustawił tę opcję. Musisz uciec z wszelkich przestrzeni.

Greg Sexton
źródło
43

Próbuję ustawić to w pliku .vimrc, jak poniżej

Ustawienia specyficzne dla GUI używać .gvimrczamiast .vimrc, która w systemie Windows jest albo $HOME\_gvimrcalbo $VIM\_gvimrc.

Sprawdź :help .gvimrcszczegóły. Zasadniczo podczas uruchamiania VIM odczytuje plik .vimrc. Następnie, jeśli GUI jest aktywowane, odczytuje również plik .gvimrc. IOW, wszystkie ogólne ustawienia VIM powinny być zachowane .vimrc, wszystkie specyficzne dla GUI rzeczy w .gvimrc. (Ale jeśli nie używasz konsoli VIM, możesz po prostu zapomnieć o .vimrc.)

set guifont = Consolas \ 10

Składnia jest nieprawidłowa. Po :set guifont=*tym zawsze możesz sprawdzić poprawną składnię czcionki za pomocą :set guifont?. Składnia VIM Windows to :set guifont=Consolas:h10. Nie widzę dokładnej specyfikacji tego, chociaż jest o tym mowa w :help win32-faq.

Dummy00001
źródło
37
  1. Rozpocznij graficzną sesję vima.
  2. Robić :e $MYGVIMRC Enter
  3. Użyj graficznego okna dialogowego wyboru czcionki, aby wybrać czcionkę.
  4. Wpisz :set guifont= Tab Enter.
  5. Wpisz, G oaby rozpocząć nowy wiersz na końcu pliku.
  6. Wpisz Ctrl+, Ra następnie :.

Polecenie w kroku 6 wstawi zawartość :specjalnego rejestru, który zawiera ostatnio użyte polecenie trybu ex. Tutaj będzie to polecenie z kroku 4, które ma odpowiednio sformatowaną nazwę czcionki dzięki uzupełnieniu tabulatorem wartości ustawionej wcześniej za pomocą okna dialogowego GUI.

qqx
źródło
Wydaje mi się, że to dlatego, że użycie graficznego okna dialogowego wyboru czcionki powoduje uruchomienie polecenia, podobnie jak większość (wszystkie?) Podobne GUI i elementy menu w gvim. Czasami można zobaczyć ich echa.
Evgeni Sergeev
1
Jestem pewien, że menu uruchamia polecenie, ale to nie ma tutaj znaczenia; jedynym efektem użycia interfejsu graficznego jest to, że ustawia guifontopcję, a nie uruchamia jakąkolwiek konkretną komendę.
qqx
Musiałem zrobić ":pdla kroku 6, aby uzyskać ostatnie polecenie trybu ex. Zobacz tę odpowiedź .
erik
@erik To jest normalne polecenie i nie powinno tam działać, ponieważ krok 5 umieściłby cię w trybie wstawiania. Nie gwarantuje również, że wklejone polecenie znajduje się w osobnym wierszu.
qqx
@qqx: Ok, moja wina. Jakoś wyszedłem z trybu wstawiania. Masz rację. Doskonałe rozwiązanie!
erik
11

W systemie Windows wykonaj następujące czynności:

  1. Zanotuj nazwę i rozmiar czcionki w menu „Edycja-Wybierz czcionkę ...” w „gvim.exec”.
  2. Więc zrób :e $MYGVIMRC
  3. Wyszukaj ciąg „guifont” i zmień go na set guifont=<font name as noted>:h<font size>
  4. Zapisz plik i zakończ.
  5. Następnym razem, gdy uruchomisz gvim.exec, zobaczysz efekt.
Hradayeshkumar Sharma
źródło
6

Chociaż jest to stary wątek, pomyślałem, że dodam komentarz, ponieważ natknąłem się na niego, próbując rozwiązać podobny problem; może to pomóc każdemu, kto może się tutaj znaleźć:

Znak odwrotnego ukośnika służy do ignorowania następnego znaku; po dodaniu do nazwy czcionki w moim gvimrc zadziałało; Pracuję na maszynie GNU / Linux, która nie lubi spacji. Podejrzewam, że początkowy post był błędem z powodu używania ukośnika tylnego na komputerze z systemem Windows.

W przykładzie:

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

set guifont = DejaVu Sans Mono dla Powerline 11

Gdzie, jak potrzebowałem, dodać tę linię do pliku gvimrc, aby ją odczytać:

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11
iain
źródło
0

Ubuntu 14.04 LTS

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

Po bloku if - endif wpisz

set guifont=Neep\ 10

zapisz plik (: wq!). Tutaj „Neep” (Twój wybór) to styl czcionki, a „10” to rozmiar czcionki. Następnie ponownie utwórz czcionkę - pamięć podręczną.

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

Żądana czcionka zostanie ustawiona na gvim.

Saket
źródło
0

Musiałem skończyć robiąc: ustaw guifont = Courier: h10: cANSI

SuperManu
źródło