Pull to refresh

Emacs для web-разработчика

Emacs *
По традиции:
Это мой первый пост, — не судите строго.

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-разработчика было бы оооочень интересно и полезно.

    Спасибо за внимание.
Tags: emacsphpxhtml
Hubs: Emacs
Total votes 7: ↑7 and ↓0 +7
Comments 14
Comments Comments 14

Popular right now

Top of the last 24 hours