Расширения и настройки Emacs на каждый день

GNU Emacs learning curves Emacs славится своей настраиваемостью и расширяемостью (и не только ими, конечно же). Однако для начинающего пользователя такое обилие настроек и дополнений может сильно напугать (меня напугало настолько, что я отложил изучение Emacs на пару лет!). Я попытаюсь кратко рассказать о настройках и дополнениях, которые делают моменты работы в Emacs ещё более счастливыми.

Сразу же открываю тайну! (Слово о репозитории расширений)

В свежих версиях Emacs (начиная с версии 24) имеется менеджер пакетов.

Самый настоящий.

В данной статье я буду пользоваться именно им для установки большинства расширений. Ничего, однако, не мешает вам установить данные расширения вручную, если у вас нет доверий к мейнтейнерам репозиториев с расширениями для Emacs.

Лично я предпочитаю использовать репозиторий MELPA. На сайте репозитория имеется веб-интерфейс для просмотра имеющихся расширений и их версий. Также можно посмотреть источник исходного кода расширения.

Чтобы добавить репозиторий, нужно открыть .emacs и добавить туда следующие строки:

(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)

Здесь нужно обратить внимание на то, что если в .emacs уже присутствует строка:

(package-initialize)

то указание на добавление нового репозитория должно идти до этой строки. Если такой строки в файле .emacs нет, то её лучше добавить.

Инициализацию пакетного менеджера можно выполнить и вручную. Для этого после запуска Emacs нужно выполнить:

M-x package-initialize

Итак, репозиторий расширений для Emacs добавлен и пакетный менеджер инициализирован.

Не будем спешно запускать Emacs и торопливо устанавливать расширения. Сначала я представлю Вашему вниманию еще несколько настроек, которые можно добавить в файл инициализации .emacs.

Разнообразные настройки Emacs, собранные с миру по нитке.

Открываем файл .emacs любимым редактором и, по желанию, добавляем туда следующие настройки:

  • Отключаем противный писк при ошибочных действиях в Emacs. Данная настройка вместо писка мигает стракой статуса.

    (setq visible-bell t)

  • Настройка шрифта. Я предпочитаю Terminus

    (set-face-attribute 'default nil :font "Terminus-12")

  • Отключение панели инструментов, панели меню и области прокрутки. Тру-емаксерам они не нужны, занимают много места не экране. После первичного освоения Emacs их можно смело отключить.

    (tool-bar-mode -1)
    (menu-bar-mode -1)
    (scroll-bar-mode -1)

  • Переносим backup-файлы в другое место. Это делается строго по желанию и с осторожностью. Цель - чтобы создаваемые временные файлы Emacs не мешались в каталоге с открываемым файлом.

    (setq backup-directory-alist `(("." . "~/.emacs_saves")))

  • Запуск в режиме сервера - очень полезно, если вы собираетесь открывать много окон Emacs или использовать Emacs в качестве основного текстового редактора. Добавляем в самое начало .emacs.

    (server-start)

  • Интерактивный режим переключение буферов Emacs. Очень удобная и полезная вещь - при нажатии C-x b можно начинать вводить название буфера и редактор сам подскажет название нужного буфера.

    (iswitchb-mode 1)

Пока это всё, на что у меня хватило сил для описания. Настройки будут добавляться в моменты ослабления лени.

Расширения, которые я использую

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

  • Auto-complete - удобное автодополнение, возможно написание своих словарей.

Для установки нужно в Emacs запустить установку пакета:

M-x package-install

А затем ввести название пакета:

auto-complete

И нажать Enter. Помните, что к вашим услугам в Emacs всегда имеется автодополнение. Помогает!

  • Org-mode - самый лучший органайзер\todo-лист, идет уже “в комплекте” с установленным Emacs. Ничего сравнимого по удобству для организации своей жизни вы не найдете нигде. Я использую его также для составления локальной базы знаний. Узнал что-нибудь - вноси в org-mode, запланировал что-нибудь - вноси в org-mode.

  • Robot-mode - помогает мне на работе. Подсветка синтаксиса при написании автотестов для использования в Robot Framework. Если вы по счастливой случайности используете Robot Framework, присмотритесь. Вместе с auto-complete данное расширение творит настоящие чудеса.

Загрузить Robot-mode можно на Github. Скачиваем robot-mode.el, укладываем его, например, в каталог .emacs.d в домашнем каталоге пользователя и добавляем следующую строку в .emacs

(load-file "~/.emacs.d/robot-mode.el")

В Emacs можно активировать robot-mode для текущего буфера командой

M-x robot-mode

Чтобы активировать robot-mode по умолчанию, например для *.txt файлов, в .emacs нужно добавить следующие строки.

(add-to-list 'auto-mode-alist '("\.txt\'" . robot-mode))

Есть возможность поменять *.txt на любое другое расширение. Я на работе использую *.robot.

  • Perspective - аналог рабочих столов в Emacs. Переключаться между уже расположенными буферами с открытыми файлами.

  • ECB - Emacs Code Browser. Удобный режим работы Emacs, при котором буферы располагаются как в каждой уважающей себя IDE. Удобная штука, но не очень хорошо работает одновременно с Perspective.


comments powered by Disqus