C'è un modo per inserire un commento in un file che vim elaborerà per impostare il tipo di file?


30

Ad esempio, se voglio che un file con il nome gitconfig(nessun segno iniziale .) sia riconosciuto da vim come appartenente filetype=gitconfig, esiste un modo per indicarlo in un commento o qualcosa di simile all'interno del file stesso? Nota, voglio che funzioni su tutti i sistemi, quindi non è preferibile modificare i file di avvio di vim.

Risposte:


45

Questo suona come la modelinefunzione (consultare la guida in linea). In gitconfig potresti avere una modeline come la seguente, vicino all'inizio o alla fine del file:

# vi: ft=gitconfig

Ciò richiede che le modeline siano abilitate e, poiché possono costituire un pericolo per la sicurezza, sono disabilitate di default su molti sistemi.

Un altro approccio che potrebbe essere leggermente più lavoro è quello di creare un .vimfile contenente

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

e rilascialo ~/.vim/ftdetectsu tutti i tuoi sistemi.


Perfetto, la modelina è ciò che stavo cercando. modeline è abilitata, ma sembra che qualcos'altro nella mia configurazione stia interferendo con esso. Se inserisco la riga suggerita nella parte superiore del file, dopo la riapertura set filetype?rivela il tipo di file 'conf'.
Murali Suriar,

Forse puoi usare :verbose set filetypeper vedere da dove confproviene il valore - Immagino che le impostazioni del tipo di file predefinite del sistema di VIM da qualche parte.
jw013,

apparentemente è stato impostato l'ultima volta da /usr/share/vim/vim73/filetype.vim. Perché il rilevamento del tipo di file a livello di sistema avrebbe la precedenza sulla direttiva che ho inserito nel file stesso?
Murali Suriar,

stavi eseguendo vim come root? se sì, penso che la modeline non si carica.
elias,

Controlla anche il valore modelinesdell'opzione. :set modelines?Se è impostato su zero, non elaborerà la modeline.
Christian Long,

1

Puoi creare un file di sintassi e inserirlo nella share/syntaxdirectory di vim (su Debian Lenny è /usr/share/vim/vim71/syntax(la tua distribuzione può variare)).

La documentazione sul formato della sintassi di Vim è qui: http://vimdoc.sourceforge.net/htmldoc/syntax.html

Potresti riuscire a trovare un file di sintassi pronto su Internet da qualche parte, ma lo lascerò come esercizio per te.

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.