5 votes

Détection des types de fichiers dans Vim

Vim peut-il détecter le type de fichier d'un tampon avec un contenu, mais qui n'a pas encore de nom (pas encore enregistré) ? :filetype detect ne fait pas grand-chose.

6voto

Ingo Karkat Points 61399

La plupart des types de fichiers sont détectés par leur nom de fichier (et/ou leur emplacement), certains (principalement ceux avec un #! ligne shebang) par leur contenu.

Si vous ne voulez pas encore sauvegarder le tampon, mais que vous avez la détection, vous pouvez nommer le tampon via :file name.ext . Ensuite, la détection via :filetype detect fonctionnera.

Si vous souhaitez simplement obtenir rapidement la coloration syntaxique (et les paramètres de type de fichier correspondants), il suffit de définir manuellement le type de fichier via :setf name .

1voto

Nicolas McCurdy Points 1134

Vous pouvez le faire manuellement.

:set filetype=EXT

Notez que EXT est l'extension du type de fichier que vous souhaitez, et pas nécessairement le nom de la langue elle-même.

0voto

Neil Points 24938

Comme l'aide pour vim dit, cela fonctionne dans certains cas, par exemple si vous tapez

#!/bin/sh

alors il sera détecté comme sh script.

0voto

Ken Points 1034

Si le fichier contient un #! sur la ligne 1, c'est facile.

Par exemple :

" finish if the filetype was detected
if did_filetype()
    finish
endif

" Ruby & Python ftplugins
if getline(1) =~ '^#!.*ruby'
    setfiletype ruby
elseif getline(1) =~ '^#!.*python'
    setfiletype python
endif

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X