Emacs для начинающих


         

Настройка переменных редактора Emacs. - часть 2


Управлять чувствительностью к регистру можно меняя значение переменной case-fold-search. Чтобы заставить Emacs игнорировать значение регистра при поиске, добавьте следующую строку в файл .emacs:

(setq case-fold-search t)

И наоборот, чтобы задействовать чувствительность к регистру в процессе поиска, установите переменной значение выкл.:

(setq case-fold-search nil)

В других языках программирования Булевым переменным в значениях "вкл." и "выкл.", часто соответствуют значения переменных "true" и "false" или "1" и "0". Emacs, в соответствии с традициями LISP, использует для тех же целей "t" и "nil". Причем значение "t" ("истина"), является просто соглашением: все, что не "nil" ("ложь"), то "t"("истина"). Об этом нужно помнить при чтении документации по Emacs, в которой редко рекомендуется устанавливать значение переменной равной "t". Чаще можно встретить рекомендацию установить переменной значение "non-nil" ("t") для одного случая и значение "nil" для другого.

Чтобы сохранить клавиатурные макросы в файле ".emacs" так, чтобы можно было использовать макрокоманду без дополнительного переопределения, используется команда insert-kbd-macro, которая добавляет эквивалент макроопределения, написанный на Emacs LISP, в текущий буфер. Рассмотрим пример.

Удобная макрокоманда для пользователей SGML быстрый ввод комментариев. Чтобы определить макрос и начать запись макрокоманды, сначала нажмите C-x (, а затем наберите

<!-- -->

и нажмите клавишу перемещения курсора влево четыре раза. Это нужно для того, чтобы поместить курсор туда, откуда начинается печать комментария. Закончите запись макроса нажатием C-x ).

Чтобы присвоить записанной макрокоманде имя, нажмите M-x и наберите в командной строке минибуфера name-last-kbd-macro. Допустим это имя - sgml-comment.

Затем, отредактируйте файл .emacs, или его эквивалент в операционной системе. Вставьте пустую строку, куда позднее будет вставлено макроопределение. Нажмите M-x, а затем в командной строке минибуфера введите команду insert-kbd-macro. Emacs запросит имя вставляемой макрокоманды, наберите sgml-comment. Появится следующее:

(fset 'sgml-comment [?< ?! ?- ?- ? ? ?- ?- ?> left left left left])

Теперь в среде Emacs появилась новая команда sgml-comment. Установите новой команде комбинацию клавиш C-c о. Для этого в файл .emacs добавьте строку

(global-set-key "^Co" 'sgml-comment)

Комбинация C-c о не связана ни с какой существующей функцией Emacs. Сохраните файл .emacs. Выйдите из Emacs и запустите его снова. Опробуйте новую сохраненную макрокоманду в действии.




Содержание  Назад  Вперед