,如果没有,可以使用什么脚本快速完成呢?
#1 楼
在您的guifont
中设置.gvimrc
选项。请参阅:help guifont
和:help setting-guifont
。 具体来说,您可以执行以下操作:
set guifont=Consolas:h11
在Windows的gvim中使用11点Consolas。您还可以使用其他一些选项(每个选项都用:
隔开),例如:b
表示粗体,尽管其中某些选项仅在某些平台上可用。:h
选项用于设置字体大小如所示,它可能是最有用的,并且与您所要求的更改字体大小特别相关。评论
请注意,name:size语法仅适用于Windows gVim,对于gtk gVim,您需要使用名称大小(字体名称和大小之间的空格)...其他平台可能具有其他格式...
–马丁·图尔诺伊(Martin Tournoij)
2015年4月27日在22:14
:hXX也可以在Mac上使用。关于GTK的好处。
–user72
15年4月27日在22:31
设置guifont =?没有设置gfn =?
– Peter Mortensen
18 Mar 1 '18 at 23:13
@PeterMortensen都工作;我喜欢较长的表格,因为我发现它们更易读,尤其是倾向于在答案中使用较长的表格。
–user72
18 Mar 2 '18 at 3:52
请注意,Windows中的文件名(通常是操作系统的选择)实际上是:对于MS-DOS和Win32:$ VIM \ _gvimrc,或者在我的情况下该文件不存在,我需要以这种方式创建它。
– AturSams
19 Jun 15'在7:04
#2 楼
如果您只想更改正在运行的GVim实例中的字体大小,请键入::set guifont=*
应会弹出一个窗口,让您设置字体大小并选择一个新的字体(如果需要)。然后,您可以要求Vim打印需要添加到
~/.gvimrc
上的行,以使更改永久生效: :set guifont?
在前缀
set
中添加前缀~/.gvimrc
以便持久。评论
在Linux上,此行应类似于:guifont = Hasklig \ Light \ 16
– Piotao
20-10-27在21:39
#3 楼
我的.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
评论
根据这个答案,has('unix')在OSX系统上通常是正确的,并且据John这里所说,OSX需要与Windows相同的格式...因此使用has('gui_gtk2')可能比使用has(' Unix”)。
–马丁·图尔诺伊(Martin Tournoij)
2015年4月28日在17:30
这适用于Xubuntu(Xfce),其中:set guifont?返回“ Monospace Bold 11”之类的文本,但不包含冒号分隔符和所选答案所依赖的“ h”前缀。
– NeilG
18年11月27日在2:00
#4 楼
显然,字体设置的编写方式与平台有关。对我有用的东西(MX Linux 17中的gvim(具有XFCE桌面的基于Debian的Linux发行版)):使用
: set guifont?
<打开/>确定gvim实例中的当前字体设置br /> 示例:
guifont=DejaVu Sans Mono 12
使用此信息在
~/.gvimrc
文件中写入设置(根据需要修改大小),并用反斜杠转义空格。 ,并且不使用大小前的:
。 br /> 这两个答案对我有所帮助:
https://askubuntu.com/a/3532/129295
https://stackoverflow.com/ a / 21894257/1878788
以及对此的评论:
https://vi.stackexchange.com/a/3094/13481
#5 楼
根据Drew的回答,此设置对我来说更好。我经常根据使用的是源代码还是文本来在这些字体之间进行交换。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>
#6 楼
您可以尝试使用此插件:vim-fontzoom。map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
评论
:help'guifont'应该包含您需要的信息。另请参阅如何在Vim文档中导航到主题?,在运行时快速在字体之间切换,如何在Vim中显示真棒字体?。