BASH Programming - Введение

       

Главные режимы против второстепенных


Существует два типа режимов: Основные и Второстепенные. Различие между ними не так просто охватывается до тех пор пока вы не поработаете с несколькими из них включая и выключая их, но даст вам видение.

Одновременно может быть активен только один основной режим. Однако одновременно может использоваться несколько второстепенных режимов. Основные режимы ориентированы на определенный язык или задачу, в то время как второстепенные режимы являются маленькими и менее специфическими утилитами, которые пересекаются с многими задачами.

Это звучит немного абстрактно, так что давайте займемся примером. Существует режим, который я использую часто про написании простых текстовых файлов. Он называется text-mode. Этот режим был спроектирован для написания файлов в свободной форме, таких как файлы README. Он понимает как идентифицировать слова и параграфы и в общем выполняет все что требуется при использовании команд навигации.

Когда я пишу файлы для людей, я обычно хочу, чтобы они выглядели хорошо. Они должны иметь правильный перенос слов на определенной границе, и т.п. Для разрешения переноса слов я просто включаю второстепенный режим auto-fill. Этот режим пытается сделать все правильно, когда я набираю текст и достигаю конца строки. В действительности второстепенный режим означает, что его можно использовать с разными основными режимами. Режим выполняет то, что нужно в зависимости от того, в каком основном режиме он работает, поведение в text-mode отличается от поведения в java-mode. Я не хочу, чтобы мой код на Java переносился точно, также как и английский текст. Но я хочу, чтобы текст переносился в блоках комментариев Java! Режим auto-fill

достаточно умен, чтобы делать различия между режимами.

Авторы различных режимов Emacs проделали огромную работу по проверке, того что те вещи, которые должны работать как второстепенные режимы работали как второстепенные режимы.

Если вы глянете на снимок экрана Emacs, то вы увидите, что строка режима показывает в каком режиме находится Emacs. В нашем случае он находится в режиме, который называется ``Lisp Interaction'', который является режимом по умолчанию. В действительности он полезен только в том, случае если вы пишите код на Lisp. (Но поскольку большая часть Emacs написана на Lisp, то почему-бы и нет?)



Содержание раздела