По традиции:
Это мой первый пост, — не судите строго.
Emacs. Про него много сказано. Про него очень много сказано и написано. Про него будет сказано и написано ещё больше.
Любой может настроить «эту ОС» под себя! Я тоже так думал.
Всё оказалось
Смело бросился в бой.
Первое чувство — страх. После пришло удивление — «как великие крутышки и убер программера тут живут!?».
Множество часов Google'ния не дали должного результата, но дали возможность понять — за что же его так любят!
И так! Вот чего я добился:
Всё настраивалось и настраивается под «Web-разработчика» (php, perl, css, javascript, xhtml).
- Установка
С этим-то все как раз просто. Существуют версии GNU/Linux, FreeBSD, AIX 4.3.3 and higher, Mac OS X, MS DOS, MS Windows, NetBSD, OpenBSD, Solaris, SunOS, Ultrix.
На любой вкус и цвет.
- Файлы настроек
Основной файл настроек .emacs. И лежит он, или должен лежать, в домашнем каталоге. /home/username либо C:\Documents and Settings\username\Application Data, либо…
Там же,надоя предпочитаю создать каталог .emacs.d для хранение файлов расширении.
С этими двумя фишками нам и надо работать.
- Основные настройки
Правим .emacs
(add-to-list 'load-path "~/.emacs.d/") ;;указываем где будут лежать файлы расширений
(custom-set-variables
'(column-number-mode t) ;;внизу будем видеть номер столбца
'(default-input-method "russian-computer") ;;ну а куда без этого
'(display-time-mode t) ;;ну.. в принципе не надо, но симпатично
'(tool-bar-mode nil)) ;;вот он тут точно не нужен
(setq inhibit-startup-message t) ;;не показывать сообщение при старте
(fset 'yes-or-no-p 'y-or-n-p) ;;не заставляйте меня печать yes целиком
(setq default-tab-width 4) ;;подифолту
- Боевой раскрас
Берем архив тут распаковываем в ~/.emacs.d/
Правим .emacs так:
(require 'color-theme) ;;подгружаем "модуль раскраски"
(color-theme-initialize) ;;подгрузить библиотеку цветовых схем
(color-theme-arjen) ;;выбрать конкретную схему
Посмотреть все схемы можно так — в Emacs нажимаем M-x (Alt-x) и пишем color-theme-select. Выбирай не хочу.
- Ближе к телу
Теперь надо сделать, чтобы Emacs лучше понимал php
Берем тут (UPD: и тут), правим так:
(require 'php-mode) ;;подгружаем php режим
(require 'php-electric) ;;режим autocompletion конструкций языка
Далее, мой любимый «режим сокращений». С его помощью можно уменьшить количество ударов по кнопкам клавиатуры.
(require 'msf-abbrev) ;;подгружаем "режим сокращений"
(setq-default abbrev-mode t) ;;ставим его подифолту
(setq save-abbrevs nil) ;;не надо записывать в дефолтный каталог наши сокращения
(setq msf-abbrev-root "~/.emacs.d/abb") ;;надо записывать их сюда
(global-set-key (kbd "C-c a") 'msf-abbrev-define-new-abbrev-this-mode) ;;(Ctrl-c a) для создания нового сокращения
(msf-abbrev-load) ;;пусть этот режим будет всегда :)
И вот теперь, если нам надо сократить опостылевший if () {} else {} бла бла бла
Нажимаем (C-c a) вводим имя для сокращения, в нашем случае if и пишем
if (<field "what">) {
<field "do it">
}
else {
<field "else do it">
}
Теперь, при просто печатаем if и пробел, и с помощью TAB перемещаемся по нашим field.
Вообще, пробуйте, я уверен - вам понравится.
Более подробно по поводу msf-abbrev.el
Ну и ещё немного про кнопки
(global-set-key [?\C-z] 'shell) ;; ну… shell
(global-set-key [?\C-x ?\C-g] 'goto-line) ;; тут тоже все ясно… вроде
(global-set-key [?\C-x ?\C-b] 'ibuffer) ;; более удобный переключатель буферов
, если кто-нибудь использует Emacs — пишите в комментариях ваши мысли/настройки/хитрости/секреты. Буду upd'эйтить и дополнять этот пост, если это будет интересно общественности.
Emacs мощный инструмент, но найти к нему чёткое руководство, позволяющее быстро включиться в работу — трудно :(.
Создать в одном месте подробную удобную инструкцию по Emacs'у для Web-разработчика было бы оооочень интересно и полезно.
Спасибо за внимание.