Кстати, сколько не спрашиваю, никто не может внятно объяснить, чем emacs лучше vim'а. Требуется мнение человека, который может отлично работать с обоими редакторами.
Emacs использовать ни разу не пробовал, зато vimом пользую уже несколько лет, посему сам составить своё мнение на сей счёт не могу. Для этого мне пришлось бы, как минимум, изучить emacs.
> А сейчас я пользуюсь vim и надеюсь немного подучить emacs
Я, лично, чесно проработав в vim недели 2, нашел его достаточно удобным, но потом попробовал emacs и так на нем и остался - лично мне в нем комфортнее, более расширяемый он. Пробовал я также эклипс, но последний мне не понравился, хотя для некоторых целей я его иногда использую, но крайне редко. Тем более не хочу менять что-то, потому что уже большой .emacs, все отлажено, пальцы привыкли к хоткеям.
> И у емакса более выразительный язык конфигурации ;-)
ну vim script конечно не фонтан, но настраивать там надо редко что.. Больше расширения ковырять, или конкретные функции, оттуда дергающиеся - а их можно на питоне (для желающих - ruby, tcl, perl) писать.
> Кстати, сколько не спрашиваю, никто не может внятно объяснить, чем emacs лучше vim'а.
Ну, если это не провокация флейма, то для меня kill features -- это i-search и офигительное количество сносных активных мод для разных задач.
Сам начинал с xemacs, который отпугнул меня сложностью и неконтролируемостью настроек, потом после статей Зубинского года на 3 присел плотно на vim, а примерно год назад открыл для себя классический emacs, и, похоже, вряд-ли променяю его на что-то еще.
Привет;). респект за перевод. Статья хорошая (правда до почти всех пунктов я дошёл сам). В дополнении к ней хорошо бы смотрелась статья о более высокоуровневых фичах емакса, ускоряющих работу и облегчающих. типо ido-mode...
> Кстати, сколько не спрашиваю, никто не может внятно объяснить, чем emacs лучше vim'а. Требуется мнение человека, который может отлично работать с обоими редакторами.
Насчет "отлично работать с обоими" - это, конечно, неправда. Но вот мои пять копеек.
В емаксе (это и emacs22 и xemacs) несколько умнее, чем в vim реализовано автодополнение (C-P в VIM). Умнее - это значит дополнение делается с учетом контекста, поэтому частно используемые "фразы" в emacs'е можно чуть не полностью одним только M-/ набирать. Хотя вот в VIM7 появилось всплывающее меню для автодополнения, ничего себе тоже неплохо.
Удобнее на мой взгляд реализована работа с VCS (пробовал CVS и SVN, и "in-buffer" VC и "вынесенный" PCL-CVS/PSVN).
Удачнее выполнен python-режим. В смысле, думать меньше приходится над соблюдением синтаксической правильности. Пожалуй, получше C-режим будет, хотя там это не столь актуально, как в случае python.
>http://www.io.com/~dierdorf/emacsvi.html
сходил по ссылке:
Vi and Emacs Keystroke Usage
Here are a few typical commands, showing the differences between
"mode" style and "modeless" style:
VI EMACS
-- -----
Right one column k ^f
Right one word w Esc,f
Left one word b Esc,b
Next sentence ) Esc,e
Previous sentence ( Esc,a
Save file :w ^x,^s
Delete paragraph d} Esc,x,kill-p[TAB],[RET]
Edit a new file e[fn] ^x,^f,[fn]
Exit :q or QQ ^x,^c
Save and Exit :x ^x,^s,^x,k,[RET]
Repeat last search n ^s,[RET]
Paste from clipboard p ^y
Delete 7 lines 7dd ^a,Esc,7,^k
Undo u ^x,u or ^/
Change a letter to "x" rx ^d,x
Go to line 6 :6[RET] Esc,<,Esc,5,^n
6G Esc,x,goto-l[TAB][RET],6[RET]
это же кошмар, какие треугольные руки надо иметь, чтобы в имаксе такие базовые функции набирать :(.
если ты владеешь машинописью, то очень неудобно нажимать такие дикие комбинации.
в виме комбинации клавиш намного приятней, что с лихвой (имхо) окупает несколько режимов работы редактора.
> Кстати, сколько не спрашиваю, никто не может внятно объяснить, чем emacs лучше vim'а. Требуется мнение человека, который может отлично работать с обоими редакторами.
Сам предпочитаю ViM, но вот для работы с Lisp'ом emacs таки удобнее из-за SLIME.
Вот с питон-моде есть проблемы: python-mode.el хотя хорошо работает, но устарел и не поддерживает синтаксиса, например питон2.5. python.el мне не понравился - сырой, глючный и некоторые заявленные там фичи работают либо через ж. либо не работают вообще. Потому пока и сижу на python-mode.el. Так что, скорее всего, придется либо искать емакс-моде для эелипс либо пользовать винг, благо последний умеет кейбиндинги емакс.
А еще очень жаль, что cedet, похоже, волею божию помре, и проект пока никто не подобрал.
Мне в emacs нравятся две вещи, которых достаточно, чтобы vim использовать только для конфигов:
1. Принудительный indent (не знаю, как он правильно называется). Это когда ты в emacs редактируешь код на чем угодно и он сам расставляет indent-ацию в зависимости от текущего языка и правил (и выравнивает при нажатии на Tab). То есть в нем никогда не напишешь лишний отступ в коде на Python, к примеру, сколько бы на Tab не нажимал. Такое я не встречал ни в одном редакторе (удобно не только писать свой, но и ровнять чужой кривоотформатированный код)
2. Как известно, у vim-а две режима: портить всё и бибикать. Этого нет в emacs и я счастлив :)
В vi это делается элементарно: выделяешь блок текста (v+движение),
потом жмешь "=" :) Кроме того, есть также автоматический indent,
правда, не везде внятно работает.
Я бы сказал так: в виме основной недостаток -- сильная тормознутость
встроенного скриптового языка. Аналогичные сложные операции emacs
делает гораздо быстрее (ну там проверка правописания, подсветка
скобочек парных и тп). Это особенно заметно на слабых машинах.
С другой стороны, время запуска vim в разы меньше времени старта
emacs. Это играет большую роль, когда необходимо одновременно
несколько связанных задач делать (например, одна прога берет
результаты другой, и тп).
Если б в emacsе был нормальный vim-режим, понимающий
все вимовские настройки и тп (а не такой упрощенный,
как viper), я б сидел именно в еmacse :)