2010-05-06 9 views
162

Non appena carico qualsiasi file in vim, tenterà di rilevare il file e evidenziarlo colore se possibile.Trova il tipo di file caricato in vim

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

+0

Non lo fa automaticamente? – ereOn

+0

Se si inserisce un vimscript in ~/.vim/ftplugin/verrà generato quel vimscript quando viene caricato un file del tipo di file corrispondente. Quindi metti 'setlocal cursorline' in' ~/.vim/ftplugin/python.vim' e avrai l'evidenziazione della riga corrente nei file python. Vedere ': help ftplugin' e': help after' – idbrii

risposta

265

:set filetype?

+26

È possibile salvare alcune sequenze di tasti e utilizzare ': set ft?' –

+27

': se ft?' - Ho vinto. ;) – sjas

+19

': se ft'? Ho vinto! –

14

È inoltre possibile aggiungere il tipo di file per la vostra linea di stato o titolo della finestra utilizzando le voci %y e %Y. Vedere

:help 'statusline' 
:help 'titlestring' 
3

Quando ho voluto trovare il tipo di file è stato perché ho avuto l'estensione .ipy modificando uno script ipython. Quanto sopra Q & A funzionava benissimo per vedere che l'estensione ipython non veniva trattata come python (un po 'ovvia). Così ho voluto forzare impostare il tipo di file, e l'ho trovato dal sito di sempre helfpul. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Aggiunta del sottostante per il vostro .vimrc funziona

au BufRead,BufNewFile *.ipy set filetype=python 
0

Dal momento che si sta chiedendo/ricerca a questa domanda, in primo luogo, presumo si esegue questa operazione perché il vostro vim in qualche modo non evidenzia la sintassi corretta per voi automaticamente, e stai cercando di capire perché e come risolverlo.

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

Logicamente, il tuo prossimo passo sarà quello di dire "basta evidenziarlo usando (per esempio) la sintassi di ps1". A tale scopo, digitando :set filetype=ps1, ora vim evidenzierà il file corrente utilizzando lo stile ps1 (a condizione che sia già).

A questo punto, sarà necessario 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., Inserire this file nel proprio ~/.vim/ftdetect

Ora questo è un lieto fine.

Problemi correlati