gVimでフォントサイズを変更するにはどうすればよいですか?


41

ネイティブコマンドを使用して、gVimのフォントサイズを変更する方法はありますか?

そうでない場合、どのスクリプトを使用してすばやく実行できますか?


回答:


32

guifontオプションを設定します.gvimrc:help guifontおよびを参照してください:help setting-guifont

具体的には、次のようなことができます:set guifont=Consolas:h11Windows上のgvimで11ポイントのコンソラを使用する。太字:など、使用できるオプションは他にもいくつかあります(それぞれがで区切られています)が、:bこれらの一部は特定のプラットフォームでのみ使用できます。

:h実証されたようにフォントサイズを設定するオプションは、おそらく最も有用な、具体的には、変更に関連する1つであるサイズあなたが要求したとして、フォントのを。


6
注意name:size構文は唯一の GTKのgvimあなたが使用する必要があるため、Windowsののgvim上で動作しますname size... ...他のプラットフォームは、他のフォーマットを有していてもよく(フォント名&サイズの間のスペース)
マーティンTournoij

:hXXMacでも動作します。しかし、GTKの良い点は。

set guifont=?違いset gfn=ますか?
ピーターモーテンセン

2
@PeterMortensen両方とも機能します。読みやすいと思うので、長いフォームの方が好きです。特に回答では長いフォームを使用する傾向があります。

Windowsでのファイル名(一般的なOSの選択)は実際には次のとおりです。MS-DOSおよびWin32の場合:$ VIM \ _gvimrcまたは私の場合、そのファイルは存在せず、そのように作成する必要がありました。
wolfdawn

29

実行中のGVimインスタンスのフォントサイズを単に変更する場合は、次のように入力します。

:set guifont=*

ウィンドウが表示され、フォントサイズを設定できるほか、必要に応じて新しいフォントを選択できます。次に~/.gvimrc、変更を永続的にするために追加する必要がある行を印刷するようにVimに依頼できます。

:set guifont?

ステータス行に次のようなものを生成します。

guifont=Hasklig-Light:h16

接頭辞付きで追加して永続化setします~/.gvimrc


13

フォントを変更せずにフォントサイズをすばやく変更するには、.vimrcに次のものがあります。WindowsおよびGTKで動作します。他のGUIはテストしていません。私はもともと他の誰かからそれをコピーしたと確信していますが、それは長い間私のrcファイルにあり、どこから来たのか覚えていません。

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
よると、この答えはhas('unix')多くの場合、OSXシステム上で真であり、ここではジョンによると、OSXだから使って... Windowsのと同じフォーマットを必要としhas('gui_gtk2')、より良い使用するよりも、おそらくですhas('unix')
マーティントゥルノイ

これはXubuntu(Xfce)で動作します。ここで:set guifont?「Monospace Bold 11」などのテキストを返します。選択した回答が依存するコロン区切り文字と「h」プレフィックスは付きません。
ニール

5

どうやら、フォント設定の記述方法はプラットフォームに大きく依存しています。私のために働いたもの(MX Linux 17のgvim(XFCEデスクトップを備えたDebianベースのLinuxディストリビューション)):

  • を使用して、開いているgvimインスタンスの現在のフォント設定を決定します : set guifont?

例: guifont=DejaVu Sans Mono 12

  • この情報を使用して、設定を(必要に応じてサイズを変更して)~/.gvimrcファイルに書き込み、バックスラッシュスペースをエスケープしsizeの前には使用:ません

例: set guifont=DejaVu\ Sans\ Mono\ 18

  • ~/.gvimrcファイルを保存した後、gvimの新しいインスタンスは、新しい希望のサイズを使用する必要があります。

これらの2つの答えは私を助けました:

このコメントと同様に:


4

ドリューの答えに基づいて、このセットアップは私にとってはうまく機能しました。

これは、増加または減少したフォントサイズが使用\+\-(と仮定し\、あなたのリーダーである)、そしてサイクル使用して事前に定義されたフォントによるcot。ソースコードとテキストのどちらで作業しているかに応じて、これらのフォントを頻繁に入れ替えます。

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>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.