Много говорят, что 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/e macs" 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, но это будет потом...
February 9 2012, 10:40:51 UTC 3 months ago
А то и в самом деле еще перейдешь на стандартные Emacs-овские keybindings....
February 9 2012, 10:45:21 UTC 3 months ago
February 9 2012, 10:59:54 UTC 3 months ago
P.S. вместо elisp'а для конфигурации, надо использовать M-x customize. Я также в свое время писал вводную статью про Emacs для ALTLinux
February 9 2012, 19:43:11 UTC 3 months ago