Bagaimana cara mengatur ukuran font default di Vim?

94

Saya mencoba untuk mengkonfigurasi pengaturan default untuk GUI saya dengan Vim. Saya sudah melakukan penelitian di web, tetapi semua solusi yang saya temukan dan coba tidak berhasil.

Berikut beberapa hal yang saya coba (dalam file .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

Sebenarnya saya tidak peduli dengan font Monaco.

Moebius
sumber
Yang pertama terlihat benar. Apakah Anda memulai ulang vim? Juga, apakah font tersebut ada di mesin Anda?
Rob
4
Vim hadir dengan dokumentasi yang sangat lengkap. Jangan telusuri web: gunakan :helpsaja; itu lebih cepat dan lebih berwibawa. Dalam kasus Anda, yang sederhana :help font<C-d>sudah cukup bagi Anda untuk menemukan :help guifontdan mempelajari cara yang set guifontbenar untuk sistem Anda.
romainl

Jawaban:

204

Untuk yang pertama hapus spasi. Spasi putih penting untuk perintah set.

set guifont=Monaco:h20

Untuk yang kedua seharusnya (h menentukan ketinggian)

set guifont=Monospace:h20

Rekomendasi saya untuk mengatur font adalah melakukannya (jika versi Anda mendukungnya)

set guifont=*

Ini akan memunculkan menu yang memungkinkan Anda memilih font. Setelah memilih font, ketik

set guifont?

Untuk menunjukkan ke mana guifont saat ini disetel. Setelah itu salin baris itu ke vimrc atau gvimrc Anda. Jika ada spasi di font tambahkan a \untuk keluar dari spasi.

set guifont=Monospace\ 20
FDinoff
sumber
Saya mencoba perintah berikut di .vimrc saya: set guifont = h18 || set guifont = Monospace: h18 || set guifont = 18 dan jika beberapa dari mereka membuat polisi lebih besar, ada masalah: jarak antar karakter sangat lebar. Kenapa?
Moebius
Saya baru mengerti bahwa lebar spasi antar karakter disebabkan oleh font yang non mono. Hanya font dengan mono di dalam namanya yang akan ditampilkan tanpa spasi lebar.
Moebius
Di mana menemukan vimrc? Saya tidak menemukannya di menu mulai setelah menginstal vim di win8.1
Lei Yang
1
@LeiYang Jika Anda mengetik :versionvim, itu harus mencantumkan lokasi di mana vim mencari file. Ini harus sesuatu seperti ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff
Saya merasa konyol menanyakan hal ini, tetapi apakah ini berfungsi pada vim di terminal (mis. Bukan gvim)?
0xc0de
15

Coba \<Space>sebelumnya 12, seperti ini:

:set guifont=Monospace\ 12
pascal
sumber
1

Saya melewati masalah yang sama saya meletakkan kode berikut di folder ~/.gvimrcdan berhasil.

set guifont=Monaco:h20
Fan Bi
sumber
0

Tambahkan Reguler ke sintaks dan gunakan gfn:

setel gfn = Monospace \ Reguler: h13

Farsheed
sumber
0

Jawaban lain adalah apa yang Anda tanyakan, tetapi jika itu berguna bagi orang lain, berikut cara mengatur font secara kondisional dari layar DPI (khusus 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 tahun
sumber
@ 576i Apa yang terjadi jika Anda wmic desktopmonitor get PixelsPerXLogicalInch /valuemasuk cmd.exe?
9999 tahun