GVim'de font boyutunu nasıl değiştirebilirim?


41

Yerel komutları kullanarak fontun gVim'deki boyutunu değiştirmenin bir yolu var mı?

Ve değilse, hızlı bir şekilde yapmak için hangi komut dosyası kullanılabilir?


Yanıtlar:


32

Set guifontSepetinde seçeneği .gvimrc. Bkz :help guifontve :help setting-guifont.

Özellikle, şöyle bir şey yapabilirsiniz: set guifont=Consolas:h11Windows'ta gvim'de 11 noktalı Konsollar kullanmak. Bazıları yalnızca belirli platformlarda mevcut olmasına rağmen, kalın harflerle ( :örneğin a ile ayrılmış ) kullanabileceğiniz birkaç seçenek :bvardır.

:hGösterildiği gibi yazı tipi boyutunu ayarlamak için bir seçenek muhtemelen en yararlı olan ve bir spesifik değişen ilişkin boyutunu istediğiniz gibi, yazı.


6
name:sizeSözdiziminin yalnızca Windows gVim'de çalıştığını unutmayın, kullanmanız gereken gtk gVim için name size(yazı tipi adı ve boyutu arasındaki boşluk) ... Diğer platformlar başka biçimlerde de olabilir ...
Martin Tournoij

:hXXMac üzerinde de çalışır. GTK hakkında iyi bir nokta olsa da.

set guifont=? Değil set gfn=mi?
Peter Mortensen

2
@PeterMortensen Her ikisi de iş; Uzun formları tercih ediyorum çünkü onları daha okunaklı buluyorum ve özellikle de uzun formları cevaplarda kullanma eğilimindeyim.

Windows'taki (yaygın bir işletim sistemi seçimi) dosya adının gerçekte olduğuna dikkat edin: MS-DOS ve Win32 için: $ VIM \ _gvimrc veya benim durumumda bu dosya yoktu ve bu şekilde yaratmam gerekiyordu.
wolfdawn

29

Çalışan bir GVim örneğinde font boyutunu değiştirmek istiyorsanız, şunu yazın:

:set guifont=*

İstenirse yeni bir yazı tipi seçmenin yanı sıra yazı tipi boyutunu belirlemenizi sağlayan bir pencere açılmalıdır. Daha sonra Vim'den ~/.gvimrcdeğişikliği kalıcı hale getirmek için ekleyeceğiniz satırı yazdırmasını isteyebilirsiniz :

:set guifont?

Durum satırında aşağıdaki gibi bir şey üretir:

guifont=Hasklig-Light:h16

Kalmak setiçin önek ile ekleyin ~/.gvimrc.


13

Yazı tipi değiştirmeden hızlı bir şekilde yazı tipi boyutunu değiştirmek için benim .vimrc içinde aşağıdaki var. Windows ve GTK'da çalışır. Diğer GUI'leri test etmedim. Başlangıçta başka birinden kopyaladığımdan eminim, ancak çok uzun zamandır rc dosyamdaydı, nereden geldiğini hatırlamıyorum.

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
Göre bu cevap , has('unix')genellikle OSX sistemlerinde doğrudur ve burada John göre , OSX Yani kullanarak ... Windows ile aynı biçimi gerektirir has('gui_gtk2')iyi kullanmaktan daha muhtemelen has('unix').
Martin Tournoij

Bu Xubuntu'da (Xfce) çalışıyor: nerede guifont? seçili yanıtın dayandığı sütun ayırıcıları ve "h" öneki olmadan, "Monospace Bold 11" gibi bir metin döndürür.
NeilG

5

Görünüşe göre, yazı tipi ayarlarını yazma yolu platforma bağımlı. Benim için ne işe yaradı (MX Linux 17'deki gvim, (bir XFCE masaüstüyle Debian tabanlı bir Linux dağıtımı)):

  • Geçerli font ayarlarını kullanarak açık bir gvim örneğinde : set guifont?

Örnek: guifont=DejaVu Sans Mono 12

  • Ayarları (yazmak istediğiniz boyutu değiştirerek) ~/.gvimrcdosyaya yazmak, boşlukları ters eğik çizgi ile çıkmak ve boyuttan önce kullanmamak :için kullanın .

Örnek: set guifont=DejaVu\ Sans\ Mono\ 18

  • Dosyayı kaydettikten sonra ~/.gvimrc, yeni gvim örneği istenen yeni boyutu kullanmalıdır.

Bu iki cevap bana yardımcı oldu:

Bu yorumların yanı sıra:


4

Drew'un cevabına dayanarak bu kurulum benim için daha iyi çalıştı.

Bu artırır veya azaltır kullanarak font-size \+veya \-(varsayarak \senin lideridir) ve döngüleri kullanarak önceden tanımlanmış yazı tipleri aracılığıyla cot. Kaynak kodla mı yoksa metinle mi çalışıyorum bağlı olarak sık sık bu yazı tipleri arasında geçiş yapıyorum.

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

Bu eklentiyi deneyebilirsiniz: vim-fontzoom .

map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.