Sto usando vim per modificare alcuni file python e recentemente si verifica sporadicamente che l'evidenziazione della sintassi scompare dopo aver salvato il buffer all'interno di vim. Ho provato a resettare syntax on
e set filetype=python
ma inutilmente. Non ho idea di cosa causi questo problema, quindi in questo momento ho informazioni diagnostiche minime. Ma qualcuno l'ha già incontrato prima o dove potrebbero andare le cose?L'evidenziazione della sintassi scompare casualmente durante il salvataggio del file
risposta
Questa non è una soluzione, ma è difficile scrivere/leggere nei commenti.
Intendevo dire che stavo lavorando con la sintassi/l'evidenziazione quando ho iniziato a correggere il mio .vimrc
, ecco perché l'ho notato.
syntax on
/syntax enable
si sta preparando solo per il caricamento di file (aggiungendo molto au
a BufNewFile/BufRead
). Quindi se qualche plugin ha problemi con le impostazioni sintassi/highlight durante la scrittura del file, il file deve essere caricato di nuovo per far sì che tutto "magico" avvenga, non è sufficiente impostare filetype
. Fare :au BufRead
e vedrete tutti gli autocommands aggiunti quando si avvia la sintassi. Ma il file deve essere caricato quindi per ottenere tutti i settigs.
vedere questo:>syntax-loading
Se non si desidera ricaricare il file, provare syntax enable
, penso che sia diverso da syntax on
.
O provare anche facendo :doautocmd filetypedetect BufRead %
, vedere>autocmd-execute
Non so che cosa sta causando il problema, può essere tu? Se hai aggiunto alcuni autocomandi o hai fatto i tuoi colori/sintassi?
Altrimenti, fino a quando non si ottiene una soluzione, è possibile provare ad aggiungere autocmd BufWritePost * <with the commands above that works>
alla fine del proprio .vimrc
, in tal caso utilizzare augroup
.
Ecco un esempio:
augroup myResetSyntax
au!
autocmd BufWritePost * syntax enable | doautocmd filetypedetect BufRead "%"
augroup END
Ora dopo un po 'mi rendo conto l'evidenziazione irregolare è causata piegando piuttosto che di qualsiasi forze misteriose connessi con il salvataggio dei file, in modo da una semplice correzione * sarebbe quella di mettere il seguente nel mio vimrc
noremap <F9> <Esc>:syntax sync fromstart<CR>
inoremap <F9> <C-o>:syntax sync fromstart<CR>
e premere F9 ogni volta che succede qualcosa di vago.
- Soluzione scoperto da here
È inoltre possibile ripristinare la sintassi ricaricando il buffer semplicemente:
:e
potete inserire il vostro vimrc? – mindvirus
E quali plugin? – Kevin
@mdkess È piuttosto lungo, lo carico solo su pastebin http://pastebin.com/dggSfKkX – nye17