2013-11-03 20 views
26

Ho installato un nuovo sistema Arch Linux sul mio laptop e scaricato il pacchetto vim.Vim Sintassi Evidenziazione non funziona

Non ho modificato il file .vimrc, ma l'evidenziazione della sintassi non sembra funzionare con nessuno dei linguaggi che ho provato (Python, Ruby, CSharp, C ...).

Anche la formattazione automatica (gg, =, G) non riesce.

Fino ad ora quando si giocava con vim (perché non posso davvero dire di averlo ampiamente utilizzato) in altri sistemi operativi (Ubuntu, Fedora), l'evidenziazione della sintassi si è attivata automaticamente. C'è qualcosa che mi manca qui?

+0

Sì, manca qualcosa. Non hai alcuna configurazione. Devi passare un po 'di tempo a guardare le impostazioni di Vim e scegliere quelle che ti piacciono e metterle in .vimrc. Quello, o guarda i file .vimrc di altre persone pubblicati online. – Shahbaz

risposta

53

È necessario avere le seguenti impostazioni in un file .vimrc as per arch linux documentation

filetype plugin on 
syntax on 
+4

N.B .: Sfrutta l'eccellente documentazione di Arch Wiki. – duplode

+0

Se il file '.vimrc' non esiste in ~ ~ /', è possibile crearlo e quindi aggiungere i contenuti mostrati sopra (Mac OS) –

5

Tipo

:syntax on 

per farlo funzionare. Non è un'opzione predefinita per vim. Probabilmente negli altri sistemi, è stato impostato per il nel default del sistema vimrc

o mettere

syntax on 

in ~/.vimrc

16

Questo è il minimo assoluto che è necessario inserire nel proprio ~/.vimrc se si intende utilizzare vim come pri mary editor:

" activates filetype detection 
filetype plugin indent on 

" activates syntax highlighting among other things 
syntax on 

" allows you to deal with multiple unsaved 
" buffers simultaneously without resorting 
" to misusing tabs 
set hidden 

" just hit backspace without this one and 
" see for yourself 
set backspace=indent,eol,start 

Tutto il resto dipende dai gusti, dal flusso di lavoro e dalle esigenze.

+0

': help backspace' mi porta alla sezione keycodes. ': help bs' mostra la sezione desiderata. A meno che non sia necessaria la retrocompatibilità con v5.4 e precedenti, mi piace rendere l'opzione più esplicita in modo da non dover cercare cosa significa "2": ': set backspace = indent, eol, start'. – Edward

+0

Anche questo è quello che ho nel mio vimrc. Sono andato per brevità, qui. Aggiornerò la mia risposta – romainl

5

Un altro motivo per cui l'evidenziazione della sintassi non funziona è che si potrebbe avere un tema/set di colori che VIM non riesce a trovare.

colorscheme darkblue 

Eliminare la linea o il commento fuori:

"colorscheme darkblue 
12
vi /etc/profile 
alias vi=vim 

forse si usa vi, invece di vim

1

Ho avuto un problema simile. Non avrei potuto evidenziare la sintassi. Ho anche scoperto che gvim è stato lanciato senza menu a discesa o icone della barra degli strumenti. È risultato che non avevo il pacchetto vim-runtime installato correttamente. Nel mio caso ero su debian jessie con un grande insieme di file mancanti in/usr/share/vim/vim74/directory.

$ ls /usr/share/vim/vim74/ 
debian.vim doc/ rgb.txt 

La soluzione era quella di correre:

$ sudo aptitude reinstall vim-runtime 

Che risolto il problema per me, per l'evidenziazione della sintassi e mancanti menu/icone in gvim. Non sono sicuro del motivo per cui il mio sistema era in questo stato, ma la reinstallazione del pacchetto di cui sopra ha risolto entrambi i problemi.

1

Ho riscontrato questo problema in Opensuse Leap 42.2 cloud.E risolto installando vim-data

sudo zypper install vim-data 

o semplicemente reinstallando vim includerà automaticamente i dati di vim.

sudo zypper remove vim 
sudo zypper install vim 
+0

Ero di fronte a questo problema esattamente. Il mio vim era la versione 8 ma vim-data era 7 – Anwar