Ativar destaque da sintaxe do Vim por padrão


121

Eu sei como ativar e desativar o destaque de sintaxe no vim executando isso no editor:

:syntax on/off

Mas quero que o destaque da sintaxe seja ativado por padrão, para que não seja necessário ativá-lo sempre que executar o vim.

Como eu faço isso?


2
Talvez vá para o Vim Stack Exchange?
QuantumFool 21/10

Respostas:


178

Edite seu $HOME/.vimrc(Unix / Linux / OSX) ou $HOME/_vimrc(Windows) para incluir a seguinte linha:

syntax on

EDITAR

Se o realce da sintaxe não funcionar quando você inicia o Vim, provavelmente não possui um $HOME/.vimrcou $HOME/_vimrc(conhecido coletivamente a partir vimrcde agora). Nesse caso, você tem duas opções:

  • Crie um vazio vimrc.
  • Copie vimrc_example.vimcomo seu vimrc(recomendado, obrigado @oyenamit). Você pode encontrar vimrc_example.vimno diretório de tempo de execução.

O local do diretório de tempo de execução varia entre os sistemas operacionais:

  • No meu sistema (Arch Linux, e Mac, graças @totophe), é no /usr/share/vim/vim73.
  • No Windows, ele está em \Program Files\Vim\vim73.

1
Não consigo encontrar .vimrc, estou usando um Mac executando o Lion. Eu posso encontrar .viminfo
lilroo

7
Se não houver, você pode criá-lo. Basta digitar: e ~ / .vimrc para vim, digite a linha e salve (: w).
Ilmo Euro

6
@ilroo Enquanto isso resolve o seu problema, aconselho você a não criar um vimrc do zero. Em vez disso, selecione o exemplo vimrc no seguinte local: /Applications/MacVim.app/Contents/Resources/vim/runtime/vimrc_example.vim. Copie esse arquivo para seu $ HOME como .vimrc. Ele ativa muitas coisas básicas automaticamente (sintaxe, destaque de pesquisa, backup, etc.). Você pode ajustá-lo com base nas suas necessidades.
oyenamit

3
Existe alguma diferença entre syntax one syntax enable?
Sonique

4
O @Sonique syntax enablemantém suas configurações de cores e as syntax onsubstitui ( :help :syn-on).
Ilmo Euro

8

Além disso, para destacar TIPO específico de sintaxe (ou linguagem de programação) em um arquivo, você pode usar os seguintes comandos, enquanto o arquivo já estiver aberto no Vim:

:set filetype=php

OU atalho:

:se ft=php

Os comandos acima alteram o realce da sintaxe do arquivo atual, como se destacassem o código PHP.


6

Descomentando a "sintaxe ativada" no arquivo vimrc.

Vá para o diretório,

cd /etc/vim/

vim vimrc

agora pesquise "sintaxe" e remova o comentário. Salve-o e reabra o arquivo no vim.


1
Melhor maneira para mim. Tks. Se você não tiver syntaxapenas adicionado syntax enable,. Então source vimrc. Tem-lo permanentemente para uso posterior
Ender phan

3

Para quem chega aqui por causa do TurnKeyLinux usando o vim-tinyque não possui o módulo de sintaxe habilitado, tente este artigo para instalar completamentevim

http://www.turnkeylinux.org/forum/support/20140108/solved-bash-command-not-found-after-replacing-package

tl; dr

# apt-get remove vim-tiny
# apt-get install vim
# hash vim
# vim

1
No FWIW a partir da v14.0, você pode simplesmente instalar o vim e tudo funciona conforme o esperado (independentemente de você desinstalar o vim-tiny ou não). Foi um bug na maneira como o vim-tiny foi configurado para executar como 'vim'. Agora ele atualiza o caminho binário adequadamente ...
Jeremy Davis

1

Também descobri que essa é uma das lições do vimtutor.

Para encontrá-lo, digite o comando vimtutorno seu Terminal (usei no Mac) e role para baixo para ver se há uma lição chamada CREATE A STARTUP SCRIPT(para mim foi a lição 7.2), onde descreve como configurar um vimrcarquivo inicial .


Eu tenho problemas com isso. A execução do tutorial foi boa, embora eu não tenha um conjunto $ VIMRUNTIME, portanto, não faço idéia de onde esse vimrc_example.vim está armazenado.
Nebulos

0

No meu, $HOME/.vimrceu carrego um esquema de cores (solarizado) e descobri que preciso colocá-lo syntax on depois de carregar o plugin. Se for antes de carregar o plugin, ele não funcionará.

" this turns syntax highlighting on by default

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'

syntax on
" this does not turn syntax highlighting on by default

syntax on

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'
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.