Làm cách nào để đặt kích thước phông chữ mặc định trong Vim?


94

Tôi đang cố gắng định cấu hình cài đặt mặc định cho GUI của mình với Vim. Tôi đã thực hiện nghiên cứu trên web, nhưng tất cả các giải pháp tôi tìm thấy và thử đều không hoạt động.

Dưới đây là một số điều tôi đã thử (trong tệp .vimrc):

set guifont = Monaco:h20
set guifont=Monospace 20

Thực ra tôi không quan tâm đến phông chữ Monaco.


Cái đầu tiên có vẻ đúng. Bạn đã khởi động lại vim? Ngoài ra, phông chữ có tồn tại trên máy của bạn không?
Rob

4
Vim đi kèm với một tài liệu rất phong phú. Không tìm kiếm trên web: sử dụng :helpthay thế; nó nhanh hơn và có thẩm quyền hơn. Trong trường hợp của bạn, đơn giản :help font<C-d>là đủ để bạn tìm :help guifontvà học cách điều chỉnh set guifontchính xác cho hệ thống của mình.
romainl,

Câu trả lời:


201

Đối với cái đầu tiên, hãy xóa khoảng trắng. Khoảng trắng quan trọng đối với lệnh set.

set guifont=Monaco:h20

Đối với cái thứ hai, nó phải là (h chỉ định chiều cao)

set guifont=Monospace:h20

Khuyến nghị của tôi để đặt phông chữ là nên làm (nếu phiên bản của bạn hỗ trợ nó)

set guifont=*

Thao tác này sẽ bật lên một menu cho phép bạn chọn phông chữ. Sau khi chọn phông chữ, hãy nhập

set guifont?

Để hiển thị những gì guifont hiện tại được đặt thành. Sau đó, sao chép dòng đó vào vimrc hoặc gvimrc của bạn. Nếu có khoảng trắng trong phông chữ, hãy thêm a \để thoát khỏi khoảng trắng .

set guifont=Monospace\ 20

Tôi đã thử lệnh sau trong .vimrc: set guifont = h18 || đặt guifont = Monospace: h18 || đặt guifont = 18 và nếu một số trong số chúng làm cho cảnh sát lớn hơn, thì có một vấn đề: khoảng cách giữa mỗi ký tự rất rộng. Tại sao ?
Moebius

Tôi chỉ hiểu rằng không gian rộng giữa các ký tự là do phông chữ không phải là đơn sắc. Chỉ các phông chữ có đơn âm bên trong tên của nó sẽ được hiển thị mà không có khoảng trống rộng.
Moebius

Tìm vimrc ở đâu? Tôi did'nt tìm thấy nó trong menu Start sau khi cài đặt vim trên win8.1
Lei Yang

1
@LeiYang Nếu bạn nhập :versionvim, nó sẽ liệt kê các vị trí mà vim tìm kiếm tệp. Nó phải là một cái gì đó giống như ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff

Tôi cảm thấy ngớ ngẩn khi hỏi điều này, nhưng điều này có hoạt động trên vim trên thiết bị đầu cuối (tức là không phải gvim) không?
0xc0de

15

Hãy thử \<Space>trước 12, như vậy:

:set guifont=Monospace\ 12

0

Thêm Thông thường vào cú pháp và sử dụng gfn:

đặt gfn = Monospace \ Regular: h13


0

Các câu trả lời khác là những gì bạn đã hỏi, nhưng trong trường hợp nó hữu ích cho bất kỳ ai khác, đây là cách đặt phông chữ có điều kiện từ DPI màn hình (chỉ dành cho 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 Điều gì xảy ra khi bạn chạy wmic desktopmonitor get PixelsPerXLogicalInch /valuevào cmd.exe?
9999

0

Tôi vượt qua cùng một vấn đề, tôi đặt đoạn mã sau vào thư mục ~/.gvimrcvà nó hoạt động.

set guifont=Monaco:h20
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.