Abilita l'evidenziazione della sintassi di Vim per impostazione predefinita


121

So come attivare e disattivare l'evidenziazione della sintassi in vim eseguendolo nell'editor:

:syntax on/off

Ma voglio che l'evidenziazione della sintassi sia abilitata per impostazione predefinita, quindi non devo attivarla ogni volta che eseguo vim.

Come faccio a fare questo?


2
Forse passare a Vim Stack Exchange?
QuantumFool

Risposte:


178

Modifica il tuo $HOME/.vimrc(Unix / Linux / OSX) o $HOME/_vimrc(Windows) per includere la seguente riga:

syntax on

MODIFICARE

Se l'evidenziazione della sintassi non funziona quando avvii Vim, probabilmente non hai un $HOME/.vimrco $HOME/_vimrc(conosciuto collettivamente vimrcda ora in poi). In tal caso, hai due opzioni:

  • Crea un vuoto vimrc.
  • Copia vimrc_example.vimcome tuo vimrc(consigliato, grazie @oyenamit). Puoi trovare vimrc_example.vimnella directory di runtime.

La posizione della directory di runtime varia a seconda dei sistemi operativi:

  • Sul mio sistema (Arch Linux e Mac, grazie @totophe), è in formato /usr/share/vim/vim73.
  • Su Windows, è in \Program Files\Vim\vim73.

1
Non riesco a trovare .vimrc, sto usando un Mac con Lion. Posso trovare .viminfo
lilroo

7
Se non ce n'è uno, puoi crearlo. Basta digitare: e ~ / .vimrc per vim, digitare la riga e salvare (: w).
Ilmo Euro

6
@lilroo Mentre questo risolve il tuo problema, ti consiglio di non creare un vimrc da zero. Invece, prendi l'esempio vimrc dalla seguente posizione: /Applications/MacVim.app/Contents/Resources/vim/runtime/vimrc_example.vim. Copia questo file nella tua $ HOME come .vimrc. Attiva automaticamente molte cose di base (sintassi, evidenziazione della ricerca, backup, ecc.). Puoi quindi modificarlo in base alle tue esigenze.
oyenamit

3
C'è qualche differenza tra syntax one syntax enable?
Sonique

4
@Sonique syntax enablemantiene le impostazioni del colore, le syntax onsovrascrive ( :help :syn-on).
Ilmo Euro

8

Inoltre, per evidenziare il TIPO specifico di sintassi (o linguaggio di programmazione) in un file, è possibile utilizzare i seguenti comandi, mentre il file è già aperto in Vim:

:set filetype=php

OPPURE scorciatoia:

:se ft=php

I comandi precedenti cambieranno l'evidenziazione della sintassi del file corrente come se evidenziasse il codice PHP.


6

Rimuovere il commento dalla "sintassi attiva" nel file vimrc.

Vai alla directory,

cd /etc/vim/

vim vimrc

ora cerca "sintassi" e rimuovilo dal commento. Salvalo e riapri il file in vim.


1
Il modo migliore per me. Tks. Se non si dispone di syntaxsufficiente aggiungere, syntax enable. Allora source vimrc. L'hai ricevuto in modo permanente per un uso successivo
Ender phan

3

Per chiunque arrivi qui a causa dell'utilizzo di TurnKeyLinux vim-tinyche non ha il modulo di sintassi abilitato, prova questo articolo per l'installazione completavim

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
FWIW a partire dalla v14.0, puoi semplicemente installare vim e tutto funziona come ti aspetteresti (indipendentemente dal fatto che disinstalli vim-tiny o meno). Era un bug nel modo in cui vim-tiny era configurato per essere eseguito come "vim". Ora aggiorna correttamente il percorso binario ...
Jeremy Davis

1

Ho anche scoperto che questa è una delle lezioni in vimtutor.

Per trovarlo, puoi digitare command vimtutornel tuo Terminale (l'ho usato su Mac) e scorrere verso il basso per vedere se c'è una lezione chiamata CREATE A STARTUP SCRIPT(per me era Lezione 7.2), dove descrive come impostare un vimrcfile iniziale .


Ho problemi con questo. L'esecuzione del tutorial è andata bene anche se non ho un $ VIMRUNTIME impostato, quindi non ho idea di dove sia archiviato questo vimrc_example.vim.
Nebbles

0

Nel mio $HOME/.vimrccarico una combinazione di colori (solarizzata) e ho scoperto che devo posizionare syntax on dopo aver caricato il plugin. Se è prima di caricare il plugin, non funziona.

" 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'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.