Trouvez quel type de fichier est chargé dans vim


224

Dès que je charge un fichier dans vim, il essaiera de détecter le fichier et de le surligner si possible.

Je veux connaître une commande vim qui me dira quel plugin ftplugin ou Filetype / filetype est vim envisageant de mettre en évidence le fichier.


Vim ne le fait pas automatiquement?
avant

Si vous placez un vimscript dans ~ / .vim / ftplugin / il récupérera ce vimscript lorsqu'un fichier du type de fichier correspondant est chargé. Donc , mettez setlocal cursorlineen ~/.vim/ftplugin/python.vimet vous aurez la ligne courante mettant en lumière dans les fichiers python. Voir :help ftpluginet:help after
idbrii

Réponses:


365

:set filetype?


39
Vous pouvez enregistrer quelques touches et simplement utiliser:set ft?
Matthew Rankin

35
:se ft?- Je gagne. ;)
sjas

39
:se ft? J'ai gagné!
Fábio Santos

SO requiert une longueur de commentaire minimale, il n'est donc pas évident que le plus court se termine après le t. ? est facultatif.
reergymerej

15

Vous pouvez également ajouter le type de fichier à votre ligne d'état ou au titre de la fenêtre à l'aide des éléments %yet %Y. Voir

:help 'statusline'
:help 'titlestring'


2

Quand j'ai voulu trouver le type de fichier, c'était parce que j'avais l'extension .ipy modifiant un script ipython. Les questions et réponses ci-dessus ont très bien fonctionné pour voir que l'extension ipython n'était pas traitée comme python (quelque peu évident). J'ai donc voulu forcer la définition du type de fichier, et je l'ai trouvé sur le site vim de helfpul. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Ajout de ce qui suit à vos travaux .vimrc

au BufRead,BufNewFile *.ipy set filetype=python

2

Puisque vous posez / recherchez cette question en premier lieu, je suppose que vous le faites parce que votre vim ne met pas en évidence la syntaxe appropriée pour vous automatiquement, et vous essayez de comprendre pourquoi et comment y remédier.

La commande :set filetype?dans la réponse choisie demande essentiellement à vim "hey de quel type pensez-vous que le fichier actuel est". Et si vim n'affiche pas la bonne couleur / surbrillance, sa réponse est probablement de l'afficher filetype=au bas de votre console, ce qui signifie que vim ne connaît pas le type de fichier. Ce n'est qu'à mi-chemin de votre quête.

Logiquement, votre prochaine étape sera de dire à vim "mettez-le en surbrillance en utilisant (par exemple) la syntaxe ps1". Pour ce faire :set filetype=ps1, saisissez, maintenant vim mettra en surbrillance le fichier actuel en utilisant le style ps1 (à condition que vous téléchargiez déjà le fichier de syntaxe PowerShell approprié et que vous le mettiez dans votre syntaxe ~ / .vim / ).

À ce stade, vous voudrez probablement désormais mettre en évidence la syntaxe automatique. La solution consiste à placer un script de détection correspondant dans votre dossier ~ / .vim / ftdetect. Par exemple, si vous souhaitez mettre en surbrillance tous les scripts PowerShell .ps1, .psm1, etc., vous placez ce fichier dans votre ~ / .vim / ftdetect

Voilà une fin heureuse.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.