atur font gvim dalam file .vimrc

174

Saya menggunakan gVim 7.2 di Windows 7. Saya dapat mengatur font gui sebagai Consolas 10 (ukuran font) dari menu. Saya mencoba mengatur ini dalam .vimrcfile seperti di bawah ini:

set guifont=Consolas\ 10

Tapi itu tidak berhasil. Adakah yang tahu cara mengatur ini?

Yongwei Xing
sumber

Jawaban:

306

Saya menggunakan yang berikut ini (Menggunakan Consolas ukuran 11 pada Windows, Menlo ukuran Reguler 14 pada Mac OS X dan Inconsolata ukuran 12 di tempat lain):

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

Sunting: Dan sementara Anda melakukannya, Anda bisa melihat posting blog Font Pemrograman Coding Horror .

Edit²: Menambahkan MacVim.

Morten Siebuhr
sumber
12
Jadi pada dasarnya untuk Windows yang Anda butuhkan adalah menambahkan set guifont=Consolas:h11:cANSIke ~/.vimrcfile
Jasdeep Khalsa
9
Lebih baik melakukan ini dari .gvimrc.
Alexei Averchenko
1
Berikut ini adalah Postingan Pemrograman Huruf
Diperbaharui
1
Dengan Vim 8 menggunakan GTK 3, Anda juga harus memeriksa "gui_gtk3".
Ruud
2
Bisakah Anda menambahkan penjelasan mengapa cANSIdigunakan dan jika itu diperlukan?
anishpatel
83

Coba atur font Anda dari menu lalu ketikkan

:set guifont?

Ini akan menampilkan kepada Anda string yang Vim telah atur opsi ini. Anda harus keluar dari ruang apa pun.

Greg Sexton
sumber
43

Saya mencoba untuk mengatur ini dalam file .vimrc seperti di bawah ini

Untuk pengaturan khusus GUI gunakan .gvimrcbukan .vimrc, yang pada Windows adalah $HOME\_gvimrcatau $VIM\_gvimrc.

Periksa :help .gvimrcdetailnya. Intinya, saat start-up VIM membaca .vimrc. Setelah itu, jika GUI diaktifkan, ia juga membaca .gvimrc. IOW, semua pengaturan umum VIM harus disimpan di .vimrc, segala hal GUI tertentu dalam .gvimrc. (Tetapi jika Anda tidak menggunakan konsol VIM maka Anda bisa melupakannya .vimrc.)

set guifont = Consolas \ 10

Sintaksnya salah. Setelah itu :set guifont=*Anda selalu dapat memeriksa sintaks yang tepat untuk font menggunakan :set guifont?. Sintaks VIM Windows adalah :set guifont=Consolas:h10. Saya tidak melihat spesifikasi yang tepat untuk itu, meskipun disebutkan dalam :help win32-faq.

Dummy00001
sumber
37
  1. Mulai sesi vim grafis.
  2. Melakukan :e $MYGVIMRC Enter
  3. Gunakan dialog pemilihan font grafis untuk memilih font.
  4. Jenis :set guifont= Tab Enter.
  5. Ketik G ountuk memulai baris baru di akhir file.
  6. Ketik Ctrl+ Rdiikuti oleh :.

Perintah pada langkah 6 akan memasukkan isi :register khusus yang berisi perintah ex-mode terakhir yang digunakan. Ini akan menjadi perintah dari langkah 4, yang memiliki nama font yang diformat dengan benar berkat penyelesaian tab nilai yang sebelumnya ditetapkan menggunakan dialog GUI.

qqx
sumber
Saya kira itu karena menggunakan dialog pemilihan font grafis menghasilkan menjalankan perintah, seperti kebanyakan (semua?) GUI dan item menu yang serupa di gvim. Terkadang Anda bisa melihat gema mereka.
Evgeni Sergeev
1
Saya yakin bahwa menu menjalankan perintah, tetapi itu tidak relevan di sini; satu-satunya efek dari antarmuka grafis yang digunakan di sini adalah bahwa ia menetapkan guifontopsi, bukan menjalankan perintah tertentu.
qqx
Saya harus melakukan ":plangkah 6 untuk mendapatkan perintah ex-mode terakhir. Lihat jawaban ini .
erik
@ erik Itu perintah mode normal, dan seharusnya tidak bekerja di sana karena langkah 5 akan menempatkan Anda dalam mode insert. Itu juga tidak memastikan bahwa perintah yang ditempelkan berada pada baris terpisah.
qqx
@qqx: Oke, salahku. Saya keluar entah bagaimana mode insert. Kamu benar. Solusi yang sangat baik!
erik
11

Untuk Windows lakukan hal berikut:

  1. Catat nama font dan ukuran font dari menu "Edit-Pilih Font ..." dari "gvim.exec".
  2. Lalu lakukan :e $MYGVIMRC
  3. Cari string "guifont" dan ubah ke set guifont=<font name as noted>:h<font size>
  4. Simpan file dan keluar.
  5. Lain kali ketika Anda menjalankan gvim.exec, Anda akan melihat efeknya.
Hradayeshkumar Sharma
sumber
6

Meskipun ini adalah utas lama, saya berpikir bahwa saya akan menambahkan komentar karena saya telah menemukannya ketika mencoba untuk memecahkan masalah yang sama; ini dapat membantu orang lain yang mungkin menemukan diri mereka di sini:

Karakter backslash digunakan untuk mengabaikan karakter selanjutnya; setelah ditambahkan ke nama font di gvimrc saya itu berhasil; Saya menggunakan mesin GNU / Linux yang tidak suka spasi. Saya menduga bahwa posting awal adalah kesalahan karena garis miring digunakan pada mesin windows.

Sebagai contoh:

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

set guifont = DejaVu Sans Mono untuk Powerline 11

Di mana saya perlu menambahkan baris ini ke file gvimrc agar bisa dibaca:

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

Ubuntu 14,04 LTS

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

Setelah if - endif block, ketikkan

set guifont=Neep\ 10

simpan file (: wq!). Di sini "Neep" (pilihan Anda) adalah gaya font dan "10" adalah ukuran hormat dari font. Kemudian bangun kembali font-cache.

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

Font yang Anda inginkan akan disetel ke gvim.

Saket
sumber
0

Saya harus melakukan: set guifont = Courier: h10: cANSI

SuperManu
sumber