đặt phông chữ gvim trong tệp .vimrc


174

Tôi đang sử dụng gVim 7.2 trên Windows 7. Tôi có thể đặt phông chữ gui là Consolas 10 (cỡ chữ) từ menu. Tôi đang cố gắng thiết lập điều này trong .vimrctập tin như dưới đây:

set guifont=Consolas\ 10

Nhưng nó không hoạt động. Có ai biết làm thế nào để thiết lập điều này?

Câu trả lời:


306

Tôi sử dụng như sau (Sử dụng Consolas size 11 trên Windows, Menlo Kích thước thường xuyên 14 trên Mac OS X và Inconsolata size 12 ở mọi nơi khác):

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

Chỉnh sửa: Và trong khi bạn đang ở đó, bạn có thể xem bài đăng trên blog về Mã hóa lập trình của Mã hóa Kinh dị .

Chỉnh sửa²: Đã thêm MacVim.


12
Vì vậy, về cơ bản cho Windows, tất cả những gì bạn cần là thêm set guifont=Consolas:h11:cANSIvào ~/.vimrctệp
Jasdeep Khalsa

9
Nó thậm chí còn tốt hơn để làm điều này từ .gvimrc.
Alexei Averchenko


1
Với Vim 8 sử dụng GTK 3, bạn cũng phải kiểm tra "gui_gtk3".
Ruud

2
Bạn có thể thêm một lời giải thích về lý do tại sao cANSIđược sử dụng và nếu nó thậm chí cần thiết?
anishpatel

83

Hãy thử đặt phông chữ của bạn từ menu và sau đó nhập

:set guifont?

Điều này sẽ hiển thị cho bạn chuỗi mà Vim đã đặt tùy chọn này thành. Bạn sẽ cần phải thoát khỏi bất kỳ không gian.


43

Tôi đang cố gắng thiết lập điều này trong tệp .vimrc như bên dưới

Đối với cài đặt cụ thể GUI, sử dụng .gvimrcthay vì .vimrc, trên Windows là $HOME\_gvimrchoặc $VIM\_gvimrc.

Kiểm tra :help .gvimrcđể biết chi tiết. Về bản chất, khi khởi động VIM đọc .vimrc. Sau đó, nếu GUI được kích hoạt, nó cũng đọc .gvimrc. IOW, tất cả các cài đặt chung VIM nên được giữ .vimrc, tất cả những thứ cụ thể về GUI .gvimrc. (Nhưng nếu bạn không sử dụng VIM console thì bạn có thể quên đi .vimrc.)

đặt guifont = Consolas \ 10

Cú pháp sai. Sau khi :set guifont=*bạn luôn có thể kiểm tra cú pháp thích hợp cho phông chữ bằng cách sử dụng :set guifont?. Cú pháp VIM Windows là :set guifont=Consolas:h10. Tôi không thấy đặc điểm kỹ thuật chính xác cho điều đó, mặc dù nó được đề cập trong :help win32-faq.


37
  1. Bắt đầu một phiên vim đồ họa.
  2. Làm :e $MYGVIMRC Enter
  3. Sử dụng hộp thoại chọn phông chữ đồ họa để chọn một phông chữ.
  4. Loại :set guifont= Tab Enter.
  5. Nhập G ođể bắt đầu một dòng mới ở cuối tập tin.
  6. Ctrl+ Rtheo sau :.

Lệnh trong bước 6 sẽ chèn nội dung của :thanh ghi đặc biệt chứa lệnh ex-mode cuối cùng được sử dụng. Đây sẽ là lệnh từ bước 4, có tên phông chữ được định dạng chính xác nhờ hoàn thành tab của giá trị được đặt trước đó bằng hộp thoại GUI.


Tôi đoán đó là bởi vì sử dụng hộp thoại chọn phông chữ đồ họa dẫn đến việc chạy một lệnh, giống như hầu hết (tất cả?) GUI và các mục menu tương tự trong gvim. Đôi khi bạn có thể thấy tiếng vang của họ.
Evgeni Sergeev

1
Tôi chắc chắn rằng menu sẽ chạy một lệnh, nhưng điều đó không liên quan ở đây; Hiệu ứng duy nhất của giao diện đồ họa đang được sử dụng ở đây là nó đặt guifonttùy chọn, không phải nó chạy bất kỳ lệnh cụ thể nào.
qqx

Tôi phải làm ":pbước 6 để nhận lệnh ex-mode cuối cùng. Xem câu trả lời này .
erik

@erik Đó là lệnh chế độ bình thường và không nên hoạt động ở đó vì bước 5 sẽ đặt bạn ở chế độ chèn. Nó cũng không đảm bảo rằng lệnh đã dán nằm trên một dòng riêng biệt.
qqx

@qqx: Ok, lỗi của tôi. Tôi thoát ra bằng cách nào đó chế độ chèn. Bạn đúng rồi. Giải pháp tuyệt vời!
erik

11

Đối với Windows, hãy làm như sau:

  1. Lưu ý tên phông chữ và kích thước phông chữ từ menu "Chỉnh sửa-Chọn Phông chữ ..." của "gvim.exec".
  2. Sau đó làm :e $MYGVIMRC
  3. Tìm kiếm chuỗi "guifont" và thay đổi nó thành set guifont=<font name as noted>:h<font size>
  4. Lưu tập tin và thoát.
  5. Lần tới khi bạn thực thi gvim.exec, bạn sẽ thấy hiệu ứng.

6

Mặc dù đây là một chủ đề cũ, tôi nghĩ rằng tôi sẽ thêm một nhận xét khi tôi bắt gặp nó trong khi cố gắng giải quyết một vấn đề tương tự; điều này có thể giúp bất cứ ai khác có thể thấy mình ở đây:

Ký tự dấu gạch chéo ngược được sử dụng để bỏ qua ký tự tiếp theo; một khi được thêm vào tên phông chữ trong gvimrc của tôi, nó đã hoạt động; Tôi đang sử dụng máy GNU / Linux không thích không gian. Tôi nghi ngờ rằng bài đăng ban đầu là một lỗi do dấu gạch chéo ngược được sử dụng trên máy windows.

Trong ví dụ:

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

đặt guifont = DejaVu Sans Mono cho Powerline 11

Khi tôi cần thêm dòng này vào tệp gvimrc để đọc nó:

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11

0

Ubuntu 14.04 LTS

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

Sau if - khối endif , gõ

set guifont=Neep\ 10

lưu tệp (: wq!). Ở đây "Neep" (sự lựa chọn của bạn) là kiểu phông chữ và "10" là kích thước tôn trọng của phông chữ. Sau đó xây dựng phông chữ - bộ nhớ cache một lần nữa.

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

Phông chữ mong muốn của bạn sẽ được đặt thành gvim.


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.