definir fonte gvim no arquivo .vimrc


174

Estou usando o gVim 7.2 no Windows 7. É possível definir a fonte da GUI como Consolas 10 (tamanho da fonte) no menu. Estou tentando definir isso no .vimrcarquivo como abaixo:

set guifont=Consolas\ 10

Mas isso não funciona. Alguém sabe como definir isso?

Respostas:


306

Eu uso o seguinte (usa Consolas tamanho 11 no Windows, Menlo tamanho normal 14 no Mac OS X e Inconsolata tamanho 12 em qualquer outro lugar):

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

Edit: E enquanto você está nisso, você pode dar uma olhada na publicação do blog de fontes de programação do Coding Horror .

Editar²: Adicionado MacVim.


12
Então, basicamente, para o Windows tudo que você precisa é adicionar set guifont=Consolas:h11:cANSIao ~/.vimrcarquivo
Jasdeep Khalsa

9
É ainda melhor fazer isso .gvimrc.
Alexei Averchenko

1
Aqui está uma postagem do blog de fontes de programação
fratrik

1
Com o Vim 8 usando o GTK 3, você também precisa verificar "gui_gtk3".
Ruud

2
Você poderia adicionar uma explicação sobre o porquê cANSIusado e se é necessário?
Anishpatel 3/17

83

Tente definir sua fonte no menu e digite

:set guifont?

Isso deve exibir para você a string em que o Vim definiu essa opção. Você precisará escapar de qualquer espaço.


43

Estou tentando definir isso no arquivo .vimrc como abaixo

Para configurações específicas da GUI, use o .gvimrcinvés de .vimrc, que no Windows é $HOME\_gvimrcou $VIM\_gvimrc.

Verifique os :help .gvimrcdetalhes. Em essência, na inicialização, o VIM lê o arquivo .vimrc. Depois disso, se a GUI estiver ativada, ela também lerá .gvimrc. IOW, todas as configurações gerais do VIM devem ser mantidas .vimrc, todas as coisas específicas da GUI .gvimrc. (Mas se você não usar o console do VIM, poderá simplesmente esquecer o .vimrc.)

set guifont = Consolas \ 10

A sintaxe está errada. Depois, :set guifont=*você sempre pode verificar a sintaxe apropriada para a fonte usando :set guifont?. A sintaxe do VIM Windows é :set guifont=Consolas:h10. Não vejo especificações precisas para isso, embora isso seja mencionado no :help win32-faq.


37
  1. Inicie uma sessão gráfica do vim.
  2. Faz :e $MYGVIMRC Enter
  3. Use a caixa de diálogo de seleção de fonte gráfica para selecionar uma fonte.
  4. Digite :set guifont= Tab Enter.
  5. Digite G opara iniciar uma nova linha no final do arquivo.
  6. Digite Ctrl+ Rseguido de :.

O comando na etapa 6 inserirá o conteúdo do :registro especial que contém o último comando ex-mode usado. Aqui estará o comando da etapa 4, que possui o nome da fonte formatado corretamente, graças à conclusão da guia do valor definido anteriormente usando a caixa de diálogo da GUI.


Eu acho que é porque usar a caixa de diálogo de seleção de fonte gráfica resulta na execução de um comando, como a maioria (todos?) Da GUI e itens de menu semelhantes no gvim. Às vezes você pode ver seus ecos.
Evgeni Sergeev 01/10

1
Tenho certeza de que o menu executa um comando, mas isso é irrelevante aqui; o único efeito da interface gráfica que está sendo usada aqui é que ela define a guifontopção, e não que executa qualquer comando específico.
Qqx 01/10

Eu tive que fazer o ":ppasso 6 para obter o último comando ex-mode. Veja esta resposta .
Erik

@erik Esse é um comando no modo normal e não deveria ter funcionado lá, pois a etapa 5 o colocaria no modo de inserção. Também não garante que o comando colado esteja em uma linha separada.
Qqx 25/06

@qqx: Ok, minha culpa. Saí de alguma forma do modo de inserção. Você está certo. Excelente solução!
Erik

11

Para Windows, faça o seguinte:

  1. Anote o nome e o tamanho da fonte no menu "Editar-Selecionar fonte ..." do "gvim.exec".
  2. Então faça :e $MYGVIMRC
  3. Procure pela string "guifont" e altere-a para set guifont=<font name as noted>:h<font size>
  4. Salve o arquivo e saia.
  5. Da próxima vez que você executar o gvim.exec, verá o efeito.

6

Embora esse seja um tópico antigo, pensei em adicionar um comentário, pois o encontrei enquanto tentava resolver um problema semelhante; isso pode ajudar qualquer pessoa que se encontre aqui:

O caractere de barra invertida é usado para ignorar o próximo caractere; uma vez adicionado ao nome da fonte no meu gvimrc, funcionou; Estou em uma máquina GNU / Linux que não gosta de espaços. Eu suspeito que o post inicial foi um erro devido à barra invertida sendo usada em uma máquina Windows.

No exemplo:

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

set guifont = DejaVu Sans Mono para Powerline 11

Onde, conforme necessário, adicione esta linha ao arquivo gvimrc para que ele seja lido:

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

0

Ubuntu 14.04 LTS

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

Após if - bloco endif , digite

set guifont=Neep\ 10

salve o arquivo (: wq!). Aqui "Neep" (sua escolha) é o estilo da fonte e "10" é o tamanho da fonte. Em seguida, crie o cache da fonte novamente.

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

Sua fonte desejada será definida como gvim.


0

Eu tive que acabar fazendo: set guifont = Courier: h10: cANSI

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.