sintaxe destacando no vim?

2

no meu servidor ubuntu vim não tem destaque de sintaxe quando abro arquivos (configurações, scipts ...).

eu tentei com

:syntax on
:syntax enable

e maneiras no vim que está habilitado, mas não funciona

alguém sabe como consertar isso?

obrigado!

    
por ajsie 04.04.2010 / 13:16

4 respostas

2

vim detecta filetype por extensão.
Se você quiser destacar a sintaxe para o arquivo sem extensão, faça isso depois de abrir o arquivo.

:set ft=sh

assumindo que o arquivo é um script bash. ft representa o tipo de arquivo. Da mesma forma, você pode obter realce de sintaxe para outros arquivos, definindo o tipo de arquivo para xml, html, php, python de acordo. Se você precisar de mais informações sobre isso,

:help ft

Espero que isso ajude.

edit: para retenção de tipos de arquivos.
Esta é apenas uma solução temporária.

if &filetype == ""
    set viewoptions=options
    autocmd BufWinLeave * mkview
    autocmd BufWinEnter * loadview
endif

Adicione isto ao seu arquivo vimrc. Esse código armazena o tipo de arquivo e outras opções locais definidas para o arquivo quando o vim sai. Você precisa definir o tipo de arquivo apenas uma vez.
As opções armazenadas são perdidas quando o arquivo é renomeado. Você terá que definir o tipo de arquivo mais uma vez para armazená-lo.
Para mais informações sobre isso, leia o manual do vim para os comandos.

:help mkview
:help loadview
:help viewoptions
    
por 05.04.2010 / 08:50
1

Você tem pelo menos um .vimrc vazio em HOME?

AFAIK, se esse arquivo estiver faltando, o vim iniciará no modo compatível com o vi. Isso pode ser um motivo para perder o realce de sintaxe.

    
por 04.04.2010 / 15:51
1

Adicionando como um comentário ao seu comentário;

how does it know which syntax file to use? i have tried "vim file.php" and "vim file.html" and it highlights using the right syntax file. but what if i want to highlight a script file and just type "vim file". then nothing is highlighted while im typing script commands. how can i highlight bash scripts (for loops, if statements etc)? – ajsie 6 hours ago

O shebang no início do arquivo indica para o vim que tipo de script ele é. IIRC, às vezes você tem que salvar o arquivo e reabri-lo antes que o realce da sintaxe também seja ativado.

    
por 05.04.2010 / 11:25
0

Como é uma configuração do servidor, é provável que você não tenha o pacote vim-common instalado. Experimente e veja se funciona.

    
por 05.04.2010 / 08:54