bash vi mode: Что означает # - * - mode: ruby ​​- * - # vi: установить ft = ruby: значит?

12

Я просматриваю некоторый случайный код , и в верхней части он говорит это:

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

Что это значит?

Я знаю, что это простой вопрос, но я не смог найти его в Интернете, потому что а) я даже не знаю, на каком языке написан этот код, и б) я очень плохо знаком с bash и vi.

michaelsnowden
источник
1
Этот вопрос, похоже, не имеет ничего общего с bash.
Михал Политовски

Ответы:

12

Эти строки представляют собой модели, которые говорят редактору (например, emacs или vi) выбрать определенный режим редактирования для файла. Режим редактирования влияет на то, как редактор, например, выделяет и отступает содержимое файла.

Вы можете прочитать больше о моделинах для emacs (которые называются файловыми переменными) здесь и моделях для vim здесь .

Сами Лэйн
источник
1
Это моделин, а не магическая линия.
Ромен
На самом деле его чаще всего называют магическим моделином, просто чтобы отличить его от модельного ряда emacs, что совершенно другое.
Сами Лэйн
1
Ну, в Vim это называется "modeline", а в Emacs - "локальные переменные файла".
Ромен
Я предлагаю редактировать тогда.
Сами Лэйн