Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

4. Настройка Emacs

Вся настройка Emacs выполняется через код на Lisp. Вы можете изменять переменные, которые влияют на то, каким образом работает Emacs или вы можете добавить новую функцию к Emacs (или переопределить существующие функции--заменяя их на свои собственные.

4.1 Временная настройка

Во время экспериментов с настройкой Emacs вы вероятно захотите сделать ее на некоторое время. Если что-то пойдет неправильно, то вы сможете просто нажать на C-x C-c для выхода из emacs и запустить его и запустить его снова. После того как вы определите, какие изменения вы хотите сделать постоянными, вы можете добавить их в ваш файл .emacs, так что они будут действовать каждый раз при старте Emacs. Это обсуждается в следующем разделе.

Присвоение переменных

Самым легким способом настройки является изменение значений переменных в Emacs. Для того, чтобы сделать это используется примерно такой код:

(setq variable-name new-value)

Где variable-name это имя переменной, а new-value это значение, которое вы хотите задать для этой переменной. (В Lisp, вы связываете переменную и значение). Функция setq в lisp аналогична оператору присваивания (обычно =) в других языках программирования.

Замечание: Я рассказываю без многих деталей ради упрощения. Вы также можете указать мне или другим на использования функций Lisp set и даже setq-default. Если вы действительно любознательны, то вы можете посмотреть их описание в руководстве по Emacs Lisp.

Давайте глянем на строку из моего файла .emacs

(setq-default transient-mark-mode t)

Переменная transient-mark-mode контролирует должна ли подсвечиваться область при ее выделении. Во многих приложениях с графическим интерфейсом пользователя, если вы щелкнете кнопкой мыши и сделаете протягивание для выделения текста, то он будет выделен цветом или инверсией. Emacs будет работать так же, если переменная transient-mark-mode будет установлена (в не-nil значение).

Что такое значение?

Ok. Немного отвлечемся. Большинство языков программирования имеют некоторое понятие о значениях true/false (истина/ложь). В C/C++ значение считается истинным, если оно имеет ненулевое значение. В Perl, не-null или ненулевое значение считается истинным. В Lisp, применяются те же идеи, но имена и символы отличаются.

Истина обычно записывается как t, а ложь (или null) записывается как nil. Подобно другим языкам, не-nill значения считаются истиной.

Для получения полного описания того, что делает transient-mark-mode, вы можете использовать оперативную справку. Наберите C-h v или M-x describe-variable, затем transient-mark-mode. Если вы ленивы, как и я, то вы можете воспользоваться дополнением имени переменной с помощью кнопки Tab. Просто наберите часть имени переменной и нажмите клавишу Tab. Если вы набрали недостаточно для уникальной идентификации имени, то вы можете увидеть все возможные варианты дополнений.

Другой часто используемой переменной является fill-column. Она сообщает Emacs насколько широким должен быть экран для переноса слов (и auto-fill-mode использует это значение). Для установки этой переменной в какое-нибудь значение вы можете набрать:

(setq fill-column 20)

Но оно в действительности ничего не делает. Вам необходимо сказать Emacs чтобы он вычислил (evaluate) выражение, которое вы набрали. Чтобы сделать это поместите точку (курсор) в конец выражения и наберите сочетание C-x C-e, что вызовет функцию eval-last-sexp. Когда вы сделаете это заметьте, что число 20 (или что вы набрали) отобразится в мини-буфере внизу экрана. Это просто возвращенное при вычислении значение.

Просто для проверки его работы наберите пару предложений. Если у вас включен auto-fill-mode (он может быть и не включен), то вы заметите, что слова переносятся на отметке 20 колонки. Иначе, после того как вы набрали некоторый текст, нажмите M-q, что вызовет функцию fill-paragraph. Она выполнит перенос слов.

Связывание с файлами

Вы можете настроить Emacs на автоматическое выполнение чего-нибудь при открытии файлов с определенным типом (подобно как многие графические среды автоматически запускают приложения если вы щелкаете на значке определенного файла). Например, я хочу чтобы Emacs автоматически переключался в text-mode при открытии файлов с расширением .txt. Хорошо, это уже происходит. :-) Теперь я хочу заставить Emacs всегда переходить в text-mode при открытии файлов с именем ``README''.

(setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist))

Без погружения в дебри программирования на Lisp, которое знать не обязательно (но будет не вредно его выучить), просто указываем, что переменная auto-mode-alist содержит список пар. Каждая пара содержит регулярное выражение и название режима Emacs. Если открываемый файл соответствует указанному выражению (в нашем случае это строка README), то Emacs переходит в указанный режим.

Странный синтаксис в приведенном примере используется потому, что мы хотим добавить пару в список режимов. Вы не захотите просто присвоить данные переменной auto-mode-alist с потерей уже содержавшихся в ней данных.

И если я хочу, чтобы Emacs автоматически переключался в html-helper-mode каждый раз, когда я открываю файл, оканчивающийся на .html или .htm, то я должен добавить следующие строки в мой файл .emacs:

(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.htm$" . html-helper-mode) auto-mode-alist))

Существует бесконечное количество возможных значений.

4.2 Использование файла .emacs

После того, как вы провели некоторое время в работе с Emacs и имеете идеи о том, что надо настроить, вы вероятно захотите настроить некоторые вещи навсегда (или по крайней мере до тех пор, пока вы не измените свою точку зрения). Если вы будете использовать Emacs в каждодневной работе, то вы также заметите, что ваш файл .emacs увеличивается со временем. Это Хорошо, потому-что вы определили как заставить Emacs работать так, как вы хотите. Для многих программ является позором, что они позволяют сделать это.

В случае, если вы еще не догадались, Каждый раз при запуске Emacs, он ищет файл с именем .emacs в вашем домашнем каталоге. Ваш файл .emacs---это место, куда вы должны помещать код на Lisp, если хотите, чтобы он автоматически выполнялся при запуске, а также файл включает в себя те настройки, которые вы хотите использовать.

Вот другой пример из моего файла .emacs:

(setq inhibit-startup-message t)

Переменная inhibit-startup-message задает будет ли показывать Emacs приветственное сообщение на старте, или нет. После того как я насмотрелся на него (потому-что я уже знал как найти помощь) я нашел способ отключить его.

Как упражнение попробуйте создать собственный файл .emacs и добавить эту строку в него. Затем выйдите из Emacs и запустите его снова. Вы не должны увидеть стартового сообщения.

Часто когда вы читаете о режиме Emacs (или о пакете), то документация будет вам предлагать добавить некоторый код в ваш файл .emacs для того, чтобы режим или пакет работали как надо.

GNU Emacs FAQ (C-h F) содержит некоторые пункты, относящиеся к файлам .emacs, которые вы можете найти полезными.

4.3 Пакет Customize

После того как Emacs начал приобретать популярность и продолжал развиваться, некоторые люди сказали ``должен быть лучший способ, позволяющий начинающим пользователям настроить Emacs''. И родился пакет customize.

Customize обеспечивает более интуитивный метод настройки частей Emacs. Чтобы попробовать работать с ним, либо выберите подменю Customize в вашем меню Help, или наберите M-x customize.

Customize группирует настройки в логические группы ``Editing'', ``Programming'', ``Files'' и т.п. Некоторые группы содержат подгруппы.

Если вы сделаете изменения, используя интерфейс настройки, то Emacs сохранит изменения в ваш файл .emacs. Это намного легче, потому-что вы можете легко изучать изменения, которые вы он сделал для вас.

Я не использую пакет Customize так, что я не могу сказать о нем больше..

4.4 Дисплей X Windows

Подобно всем нормальным X-приложениям, Emacs работает с вашими X-ресурсами. Это означает, что вы можете контролировать начальные цвета, геометрию и другие специфические для X вещи, также как и в xterm, nxterm или чем-то другом.

Вот соответствующий кусок моего файла ~/.Xdefaults:

emacs*Background: DarkSlateGray
emacs*Foreground: Wheat
emacs*pointerColor: Orchid
emacs*cursorColor: Orchid
emacs*bitmapIcon: on
emacs*font: fixed
emacs.geometry: 80x25

Посмотрите справочную страницу X для более детального описания X-ресурсов.

Chris Gray ( cgray4@po-box.mcgill.ca) также заметил:

В Debian, файл ~/.Xdefaults кажется не используется. Однако работающие в Debian могут поместить то, что вы хотите в /etc/X11/Xresources/emacs и могут получить то, что они делали в RedHat.


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

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...