bash vi mode: Que signifie # - * - mode: ruby ​​- * - # vi: set ft = ruby: mean?

12

Je regarde un code aléatoire , et en haut, il dit ceci:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Qu'est-ce que ça veut dire?

Je sais que c'est une question simple, mais je n'ai pas pu la trouver en ligne car a) je ne sais même pas dans quelle langue ce code est écrit, et b) je suis très nouveau dans bash et vi.

michaelsnowden
la source
1
Cette question ne semble pas avoir de rapport avec bash.
Michał Politowski

Réponses:

12

Ces lignes sont des modèles qui indiquent à un éditeur (par exemple emacs ou vi) de choisir un mode d'édition spécifique pour un fichier. Un mode d'édition affecte la façon dont l'éditeur, par exemple, met en évidence et met en retrait le contenu du fichier.

Vous pouvez en savoir plus sur les modelines pour emacs (qui sont appelées variables locales de fichier) ici et les modelines pour vim ici .

Sami Laine
la source
1
Ce n'est pas une ligne magique.
romainl
En fait, il est le plus souvent appelé modeline magique d'où je viens, juste pour le distinguer de la modeline d'emacs qui est une chose entièrement différente.
Sami Laine
1
Eh bien, dans Vim, cela s'appelle "modeline" et dans Emacs cela s'appelle "variables locales de fichier".
romainl
Je suggère alors un montage.
Sami Laine