EMACS: универсальный комбайн
-
Upload
vasil-remeniuk -
Category
Documents
-
view
3.010 -
download
14
description
Transcript of EMACS: универсальный комбайн
Emacs: многофункциональный комбайн
Alex Ott
alexott@gmail .com
December 10, 2011
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 1 / 22
О чем пойдет речь?
1 Распространенные мифы
2 Работа с Emacs
3 Emacs для программистов
4 Прочие применения
5 Разное
6 Демонстрация
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 2 / 22
Мифы: Emacs тяжел в освоении
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 3 / 22
Мифы: Вам нужно знать все сочетания клавиш
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 4 / 22
Еще мифы
Emacs потребляет слишком много ресурсов
Eight Megabytes And Constantly SwappingEMACS: EMACS Makes A Computer Slow
Emacs требует знания Emacs Lisp для конфигурации
Используйте customizeEmacs Lisp нужен в основном для хуковEmacs Lisp – простой язык
Emacs слишком долго стартует
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 5 / 22
Установка и настройка
Бинарные пакеты
LinuxMS WindowsMac OS X
Базовые конфигурации
Emacs Starter KitEmacs Prelude
Дополнительная настройка
механизмы customize: customize-variable,customize-face и т.д.hook’и
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 6 / 22
Начало работы
Пройдите встроенный учебник (C-h t)
Научитесь пользоваться справочной системой (C-h i)
Поиск и получение информации
M-x apropos (C-h a) – поиск по регулярному выражениюM-x describe-variable (C-h v) – описание заданнойпеременнойM-x describe-function (C-h f) – описание заданнойфункцииM-x describe-key (C-h k) – описание сочетания клавишM-x describe-mode (C-h m) – описание режима длятекущего буфераC-h ? – справка о справке
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 7 / 22
Режимы, пакеты, буфера и т.д.
РежимыОсновные (major)Вспомогательные (minor)
Пакетывстроенные пакеты – поставляемые с Emacsсторонние пакеты – установленные пользователем (вручную,или через package.el, el-get, и т.д.)
Основные объекты EmacsБуфер/ФайлОкноФрейм
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 8 / 22
Emacs для программистов: C/C++/Java/. . .
C/C++CC-mode
основной режим для редактирования кода наC/C++/Obj-C/Java/. . .подсветка синтаксиса
gdb – работа с отладчиком прямо в EmacsCTags/ETags/GNU Global/CScopeCEDET/SemanticECB
JavaJDEEmalabar-mode
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 9 / 22
Emacs для программистов: Lisp-like языки
Режимы для редактирования кодаlisp-modeemacs-lisp-modescheme-mode & Geiserclojure-modeparedit
Интерактивная работаSLIME
поддержка разных Lisp’овинтерактивная работа с кодом, в том числе и удаленнаядополнение именотладчикдоступ к документации (online & в коде)навигация по кодуинспектор объектов
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 10 / 22
Emacs для программистов: прочие языки
Haskellhaskell-modehaskell-emacs
OCaml: tuareg-modeErlang
erlang-modeDistel
Scalascala-modeEnsime
Pythonpython-modepymacs/rope/. . .
Rubyи еще десятки. . .
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 11 / 22
Emacs для программистов: IDE-related
CEDETSemanticEDESRecodeSpeedbarEIEIOCOGREинтеграция с внешними утилитами
CTagsGNU GlobalCScope
ECB
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 12 / 22
Emacs для программистов: контроль версий
VC и DVC – унифицированный интерфейс к системамконтроля версийmagit – удобная поддержка Gitpsvn – Subversionahg & mercurial.el – MercurialDarcsPerforceClearCasePCL CVS+ всяческая экзотика. . .
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 13 / 22
Emacs для программистов: разные утилиты
EDiffFlymake
mk-project/eproject
Интеграция с отладчиками
yasnippet и другие шаблонизаторы
auto-complete & company-mode
ctags/etags/cscope/ebrowser
работа с SQL
EAssistElDoc
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 14 / 22
Работа с текстом
AUCTeX/LATEX-preview/RefTeX/BibTeX
nxml-modenxhtml-mode ((X)HTML со вставками CSS & JavaScript)
Поддержка разных Wiki
FlySpell
Table-mode. . .
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 15 / 22
Org-Mode
TODO-менеджер/планировщик задач/Wiki/GTD/. . .
Plain Text!Поддерживает:
ТагиДаты начала и окончанияПриоритетыЗависимости между задачамимногое другое. . .
Богатые возможности экспорта - HTML, LATEX, etc.
Таблицы с формулами
Babel: literate programming + активный код
MobileOrg: iOS/Android
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 16 / 22
Communications/Messaging
Email & NewsGnusWanderlustMH-EMailcrypt/EasyPG
IRCJabber/GTalk
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 17 / 22
Полезные пакеты
tramp
anything
idodiredcalcESSShell/EShell
Desktop
+ сотни пакетов. . .
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 18 / 22
. . .
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 19 / 22
Ложка дегтя. . .
Отсутствие threading/синхронность
Не особо хорошая поддержка смешанного кодаHTML/PHPHTML/JavaScriptJSP. . .
Не всегда стабильная работа на MS Windows
Нет встроенного веб-браузера :-)
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 20 / 22
Дополнительная информация
Emacs ManualEmacs Lisp Introduction/ReferenceEmacsWiki: http://emacswiki.org/StackOverflow:http://stackoverflow.com/questions/tagged/emacsPlanet Emacsen: http://planet.emacsen.org/Русская планета Emacs: http://planet.emacsen.org/ru/Списки рассылкиIRC канал #emacs на irc.freenode.netEmacsRookie: http://emacsrookie.com/EmacsRocks: http://emacsrocks.com/ (скринкасты)
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 21 / 22
Вопросы
E-mail: [email protected]: http://alexott.net, http://gplus.to/alexott
Alex Ott (alexott@gmail .com) Emacs: многофункциональный комбайн December 10, 2011 22 / 22