Làm cách nào để thay đổi kích thước phông chữ trong gVim?


41

Có cách nào để thay đổi kích thước của phông chữ trong gVim, sử dụng các lệnh gốc không?

Và nếu không, kịch bản nào có thể được sử dụng để làm điều đó một cách nhanh chóng?


Câu trả lời:


32

Đặt guifonttùy chọn trong của bạn .gvimrc. Xem :help guifont:help setting-guifont.

Cụ thể, bạn có thể làm một cái gì đó như: set guifont=Consolas:h11sử dụng Consolas 11 điểm trong gvim trên Windows. Có một vài tùy chọn khác mà bạn có thể sử dụng (mỗi phân tách bằng a :), chẳng hạn như :bin đậm, mặc dù một số tùy chọn này chỉ khả dụng trên một số nền tảng nhất định.

Các :htùy chọn để thiết lập kích thước phông chữ như chứng minh có lẽ là hữu ích nhất, và một trong những cụ thể liên quan đến việc thay đổi kích thước của phông chữ, như bạn yêu cầu.


6
Lưu ý rằng name:sizecú pháp chỉ hoạt động trên Windows gVim, đối với gtk gVim bạn cần sử dụng name size(khoảng
trắng

:hXXcũng hoạt động trên Mac. Điểm tốt về GTK mặc dù.

set guifont=? Không phải set gfn=sao?
Peter Mortensen

2
@PeterMortensen Cả hai công việc; Tôi thích các hình thức dài hơn bởi vì tôi thấy chúng dễ đọc hơn, và đặc biệt có xu hướng sử dụng các hình thức dài hơn trong câu trả lời.

Lưu ý rằng tên tệp trong Windows (một lựa chọn hệ điều hành phổ biến) thực sự là: đối với MS-DOS và Win32: $ VIM \ _gvimrc hoặc trong trường hợp của tôi, tệp đó không tồn tại và tôi cần phải tạo theo cách đó.
wolfdawn

29

Nếu bạn chỉ muốn thay đổi kích thước phông chữ trong một phiên bản GVim đang chạy, hãy nhập:

:set guifont=*

Một cửa sổ sẽ bật lên cho phép bạn đặt kích thước phông chữ cũng như chọn một phông chữ mới nếu muốn. Sau đó, bạn có thể yêu cầu Vim in dòng bạn cần thêm vào ~/.gvimrcđể thay đổi vĩnh viễn:

:set guifont?

Tạo ra một cái gì đó như sau trong dòng trạng thái:

guifont=Hasklig-Light:h16

Thêm vào đó với tiền tố setđể bạn ~/.gvimrctiếp tục.


13

Tôi có .vimrc sau đây để thay đổi kích thước phông chữ một cách nhanh chóng mà không thay đổi phông chữ. Hoạt động trên Windows và GTK. Tôi chưa thử các GUI khác. Tôi chắc chắn ban đầu tôi đã sao chép nó từ người khác, nhưng nó đã ở trong tệp RC của tôi quá lâu nên tôi không nhớ nó đến từ đâu.

if has("unix")
    function! FontSizePlus ()
      let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole + 1
      let l:new_font_size = ' '.l:gf_size_whole
      let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '')
    endfunction

    function! FontSizeMinus ()
      let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole - 1
      let l:new_font_size = ' '.l:gf_size_whole
      let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '')
    endfunction
else
    function! FontSizePlus ()
      let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole + 1
      let l:new_font_size = ':h'.l:gf_size_whole
      let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '')
    endfunction

    function! FontSizeMinus ()
      let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole - 1
      let l:new_font_size = ':h'.l:gf_size_whole
      let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '')
    endfunction
endif


if has("gui_running")
    nmap <S-F12> :call FontSizeMinus()<CR>
    nmap <F12> :call FontSizePlus()<CR>
endif

4
Theo câu trả lời này , has('unix')thường đúng trên các hệ thống OSX và theo John ở đây , OSX yêu cầu định dạng giống như Windows ... Vì vậy, sử dụng has('gui_gtk2')có lẽ tốt hơn so với sử dụng has('unix').
Martin Tournoij

Điều này hoạt động trên Xubfox (Xfce) trong đó: đặt guifont? trả về văn bản như "Monospace Bold 11", không có dấu phân cách dấu hai chấm và tiền tố "h" mà câu trả lời được chọn dựa vào.
NeilG

5

Rõ ràng, cách viết các cài đặt phông chữ phụ thuộc khá nhiều vào nền tảng. Điều gì làm việc cho tôi (gvim trong MX Linux 17, (bản phân phối Linux dựa trên Debian với máy tính để bàn XFCE)):

  • Xác định cài đặt phông chữ hiện tại trong trường hợp gvim mở bằng cách sử dụng : set guifont?

Thí dụ: guifont=DejaVu Sans Mono 12

  • Sử dụng thông tin này để viết các cài đặt (sửa đổi kích thước theo ý muốn) trong ~/.gvimrctệp, thoát khỏi khoảng trắng có dấu gạch chéo ngượckhông sử dụng :trước kích thước .

Thí dụ: set guifont=DejaVu\ Sans\ Mono\ 18

  • Sau khi lưu ~/.gvimrctệp, các phiên bản mới của gvim nên sử dụng kích thước mong muốn mới.

Hai câu trả lời đã giúp tôi:

Cũng như các ý kiến ​​của cái này:


4

Dựa trên câu trả lời của Drew, thiết lập này hoạt động tốt hơn với tôi.

làm tăng hoặc giảm font-size sử dụng \+hoặc \-(giả định \là lãnh đạo của bạn), và chu kỳ thông qua các phông chữ được xác định trước sử dụng cot. Tôi thường trao đổi giữa các phông chữ này tùy thuộc vào việc tôi đang làm việc với mã nguồn hoặc văn bản.

let g:fnt_types = ['SourceCode\ Pro', 'monofur' ]
let g:fnt_sizes = [ 10, 13 ]


let g:fnt_index = 0
let g:fnt_size  = g:fnt_sizes[g:fnt_index]

function! CycleFont()
  let g:fnt_index = (g:fnt_index + 1) % len(g:fnt_types)
  let g:fnt_size  = g:fnt_sizes[g:fnt_index]
  call ResetFont()
endfunction

function! ResetFont ()
  if has('gui_running')
    exe ':set guifont=' . g:fnt_types[g:fnt_index] . '\ ' . string(g:fnt_size)
  endif
endfunction

call ResetFont()

function! FontSizePlus ()
  let g:fnt_size = g:fnt_size + 0.5
  call ResetFont()
endfunction

function! FontSizeMinus ()
  let g:fnt_size = g:fnt_size - 0.5
  call ResetFont()
endfunction

nnoremap <leader>+ :call FontSizePlus()<cr>
nnoremap <leader>- :call FontSizeMinus()<cr>
nnoremap cot :call CycleFont()<cr>

2

Bạn có thể thử plugin này: vim-fontzoom .

map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
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.