Maxim Sokhatsky ([info]maxim) wrote,

.emacs

С недавнего времени решил попробовать посидеть в Ubuntu не смотря на то, что Windows я люблю всем сердцем. Как начинающий емаксовец, хотел давно написать про свой минималистичный незамороченный конфигурационный файл к емаксу, и как нельзя кстати приурочить такое событие к Линуксу.

Много говорят, что Emacs нудный, большой, непонятный и т.д. и т.п. Врут. Мои любимые IDE до Emacs были такие (в порядке увядания любви): Metrowerks CodeWarrior, FAR/MC, Visual Studio. Eclipse никогда не любил, но провел в нем достаточно времени, когда работал в DB. На самом деле Emacs без пакетов действительно отпугивает людей с его бесконечными аккоордами клавиш. Я нигде не видел хорошего минималистичного описания этого редактора и то как его настраивать. Поэтому если кто-то думаешь или решается, я покажу как быстро перейти на Emacs. Мы будем иметь ввиду GNU Emacs, потому, что XEmacs трешняк полный :)

До того как начать сразу нужно сказать про два пункта: пинус первый и минус второй. Нужно отключить сплеш скрин и поставить свой любимый шрифт.

(setq inhibit-splash-screen t)

(custom-set-faces
'(default ((t (:inherit nil :stipple nil :background "white"
:foreground "black" :inverse-video nil
:box nil :strike-through nil :overline nil
:underline nil :slant normal :weight normal
:height 128 :width normal :foundry "unknown" :family "Ubuntu Mono")))))


Я еще отключаю ворнинги, а также выставляю, что бы Emacs запоминал открытые файлы (desktop-enable). Первое, это вы не должны думать, что емакс трудный, в нем есть биндинги для IBM-мовской раскладки CUA (Ctrl+C, Ctrl+V и т.д. и т.п.), наряду с Ctrl+INS, Shift+INS. Поэтому редактируйте в Emacs так как вы привыкли это делать в любом другом редакторе. Вас не должны отпугивать бесконечные комбинации клавиш, я сам ими не пользуюсь (пока).

(custom-set-variables
'(warning-minimum-level :error)
'(desktop-enable t nil (desktop))
'(cua-mode t nil (cua-base))
'(tool-bar-mode nil))


Во-вторых, нужно начать с подключения пакетов, без пакетов в Еmacs нечего делать. Когда у вас есть время вы можете посмотреть на org-mode И другие консольно-образные прикольные штучки. Есть три репозитория пакетов для Emacs: GNU, ELPA и Marmelade. К счастью можно настроить совместный доступ к всем трем пакетам. Для этого нужно скачать менеджер пакетов marmelade-package.el, который совместим со всеми тремя репозиториями, и положить его скажем в ~/.emacs.d/ Потом настроить пакеты:

(setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")))

(when (load (expand-file-name "~/.emacs.d/marmelade-package.el"))
(package-initialize))


После этого вы можете ввести команду в Emacs для просмотра пакетов M-x package-list-packages, вообще все команды вводятся в Emacs через Alt+X, запомните это. (C-x 1) Ctrl+X 1 - оставляет текущее окно, (C-X 2) Ctrl+X 2 - делает вертикальный сплит, (C-x 3) Ctrl+X 3 -- горизонтальный сплит.

Дальше нужно настроить Emacs для своего языка. Поскольку я перешел на Linux из-за Erlang, то я покажу чем я пользуюсь для Erlang. Для этого мы подключаем стандартный erlang-mode, который входит в поствку Erlang, а также качаем с github distel. Можно прямо в папку ~/.emacs.d там его билдим.

(setq load-path (cons "/usr/local/lib/erlang/lib/tools-2.6.6.5/emacs" load-path))
(setq erlang-root-dir "/usr/local/lib/erlang")
(setq exec-path (cons "/usr/local/lib/erlang/bin" exec-path))
(require 'erlang-start)

(add-to-list 'load-path "/home/maxim/.emacs.d/distel/elisp")
(require 'distel)
(distel-setup)


После этого вы будете иметь возможность видеть подсветку синтаксиса, навигацию по функциям с помощью Alt+. (вперед) и Alt+, (назад), а также подключатся к ерланговским нодам. Если вы больше хотите настроить Emacs для Erlang, вам нужно почитать рекомендации Alex Ott по настройке Emacs под Erlang.

Дальше осталось последнее, сохранение расположения окон. Это однако не нужно тем, кто использует такие оболочки как Awesome или xmonad. Для этого я пользуюсь пакетом windows/revive японца по имени Hirose Yuuji. Скачайте windows.el и revive.el в каталог ~/emacs.d/windows и добавьте в ~/.emacs:

(add-to-list 'load-path "/home/maxim/.emacs.d/windows")
(require 'windows)
(resume-windows)


Это необходимый минимум. Со временем когда вы будете пользовать Emacs, ваш .emacs превратится в собсвенный менеджер пакетов, который будет забирать их из вашего репозитория на github, но это будет потом...
Tags: cs

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments

[info]nop

February 9 2012, 10:40:51 UTC 3 months ago

Срочно смотреть сюда: http://video.yandex.by/users/d-bushenko/view/1/?ncrnd=2161#

А то и в самом деле еще перейдешь на стандартные Emacs-овские keybindings....

[info]maxim

February 9 2012, 10:45:21 UTC 3 months ago

Спасибо за камент :)

[info]alexott

February 9 2012, 10:59:54 UTC 3 months ago

вот методичка с того толка...

P.S. вместо elisp'а для конфигурации, надо использовать M-x customize. Я также в свое время писал вводную статью про Emacs для ALTLinux

[info]ms_grumpy

February 9 2012, 19:43:11 UTC 3 months ago

че-то долго вы до убунты шли. я настолько привыкла за год, что щас на винду большими такими глазами смотрю, когда приходится печатать много в ворде, все такое другое :-)) мне, кстати, скайп только под убунтой и нравится, ибо никто новых версий на него не пишет, и он такой мииленький и простенький
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…