Trova quale tipo di file viene caricato in vim


224

Non appena carico un file in VIM, proverà a rilevare il file e, se possibile, a evidenziarlo con i colori.

Voglio sapere un comando vim che mi dirà quale ftplugin o Filetype plugin / filetype è vim considerando di evidenziare il file.


Vim non lo fa automaticamente?
ereOn

Se metti un vimscript in ~ / .vim / ftplugin / verrà generato quel vimscript quando viene caricato un file del tipo di file corrispondente. Così si può mettere setlocal cursorlinein ~/.vim/ftplugin/python.vime si avrà riga corrente evidenziando in file Python. Vedi :help ftplugine:help after
idbrii,

Risposte:


365

:set filetype?


39
È possibile salvare alcune sequenze di tasti e utilizzare semplicemente:set ft?
Matthew Rankin il

35
:se ft?- Io vinco. ;)
sjas,

39
:se ft? Ho vinto!
Fábio Santos,

SO richiede una lunghezza minima di commento, quindi potrebbe non essere ovvio che il termine più breve dopo il t. ? è facoltativo.
Reergymerej,

15

È inoltre possibile aggiungere il tipo di file alla riga di stato o al titolo della finestra utilizzando gli elementi %ye %Y. Vedere

:help 'statusline'
:help 'titlestring'


2

Quando volevo trovare il tipo di file era perché avevo l'estensione .ipy che modificava uno script ipython. Le domande e risposte di cui sopra hanno funzionato benissimo per vedere che l'estensione ipython non veniva trattata come python (in qualche modo ovvio). Quindi volevo forzare l'impostazione del tipo di file, e l'ho trovato dal sito sempre più vim di Velf. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Aggiungendo il seguito alle tue opere .vimrc

au BufRead,BufNewFile *.ipy set filetype=python

2

Dal momento che stai ponendo / cercando questa domanda in primo luogo, presumo che tu lo faccia perché il tuo vim in qualche modo non evidenzia automaticamente la sintassi corretta per te e stai cercando di capire perché e come risolverlo.

Il comando :set filetype?nella risposta scelta chiede sostanzialmente a vim "hey che tipo pensi che sia il file corrente". E se vim non mostra il colore / l'evidenziazione corretti, molto probabilmente la sua risposta sta visualizzando questo filetype=nella parte inferiore della console, il che significa che Vim non conosce il tipo di file. Questa è solo a metà della tua ricerca.

Logicamente, il tuo prossimo passo sarà dire a Vim "basta evidenziarlo usando (ad esempio) la sintassi ps1". Puoi farlo digitando :set filetype=ps1, ora vim evidenzierà il file corrente usando lo stile ps1 (a condizione che tu abbia già scaricato il file di sintassi PowerShell corretto e lo inserisca nella tua sintassi ~ / .vim / ).

A questo punto, probabilmente avrai bisogno di evidenziare la sintassi automatica da ora in poi. La soluzione è inserire uno script di rilevamento corrispondente nella cartella ~ / .vim / ftdetect. Ad esempio, se si desidera evidenziare tutti gli script PowerShell .ps1, .psm1, ecc., Si inserisce questo file nel proprio ~ / .vim / ftdetect

Questo è un lieto fine.

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.