На своем сайте я разместил статью о Emacs. Надеюсь, что она будет интересна, так как я старался писать о том, что использую активно сам, а не то, что можно использовать вообще.
Спасибо за дельные советы. Конечно, можно не спрашивать. Выкладывайте любые части - сочту за честь. Но может лучше я выпущу новую версию, когда все "кривости" исправлю и грамматику (спасибо всем, кто предложил дельные исправления)? Думаю, на этой неделе будет версия улучшена.
А вообще, из вашего ответа я узнал кучу нового. Сейчас пойду на .emacs проверять.
Не ввязываясь в религиозные войны "кто кого победит слон или кит", добавлю, что против Вим я ничего не имею. Я его тоже использую довольно часто, чтобы там Makefile поправить или комментарий в CVS написать.
Но
1. я привык к распальцовкам емакса
2. всегда забываю в каком я режиме и это на самом деле расстраивает
3. просто емакс нравится внешне больше
4. и главное: у нас большие машины, заразы, не воспринимают огромную часть клавиатуры, если работать удаленно. Зато основную часть они понимают. И тогда, когда PageDown не работает, остается привычное C-v
К счастью емакс есть у нас везде, так же как и ви.
не подскажите бедному мне, какие есть emacs-perl mod-ы ? Что б там проверка перлового синтаксиса, автокомплит и т.д.(может какой дебагер перловый существует ?). А то под перл надо писать, а ИДЕ сказали лучше макса не найти. Вот начинаю его учить (и перл и макс :( ). Не дайте помереть анонимусу :).
* Когда у тебя команда это набор self-insert-command комманд то биндиг лучше оформять так
(global-set-key "?" ",") --------------
Ага! Не работает так. И я вспомнил, что так уже делал!
А не работает потому, что в русской моде "?" - это уже не знак вопроса!!! А надо заменять не символ ввода а саму клавишу. А если вы попробуете заменить именно то что вводится, то тогда будет совсем плохо! В общем, в статье правильно - по другому не работает :( Хотя было бы проще!
Ааа, тю, я наверно неправильно спросил.. Мне для почты надо, те для Gnus'а когда приходит в utf8 :)
С XEmacs'ом я кое-как справился ... Вот с Emacs'ом неполучается. -------------
Это одна из причин, почему для почты я предпочитаю Мозиллу - там даже разбираться не надо. Одно неудобство - на любимую команду C-k эта зараза вызывает спеллчекер. Ужасно огорчает ;)
Увы, во многих модах эти связки заняты. Например, в латехе по умолчанию C-c C-o вставляет блок бегин-енд, и так далее. А вот мета-мета - свободна везде. Кроме того, мне кажется это очень удобным. :) Но комментарий в статье вставлю, спасибо.
Убрал прогн и все работает отлично. Я думал, что если фан1, скажем, раскроется как много операторов, то прогн их соберет в один. В этом был смысл, как мне казалось, прогна. Видать, ошибся, перебдел. Он не мешал, но без него читабельнее! :) Спасибо!
Кто бы что ни говорил, полноценных текстовых редакторов всего два. К сожалению. Оба уроды. Но других-то нет. Какой из них ни выбери, считай свой выбор правильным. Статьи о достоинствах одного из, абсолютно не колышут тех кто выбрал второй из. Равно как и заметки о недостатках.
Написал бы кто такое о vim, восторгов и обкакиваний было бы ровно столько же.
Есть куча отличных редакторов, но только 2 универсальных. Такова селяви на сегодняшнй день. Приходится делать невесёлый выбор.
Какая версия GNU Emacs? У меня 21.3.1 (i386-msvc-nt5.0.2195), собран из исходников. Иногда зависает при простом перемещении по тексту или переходе в другое окно, при этом занятость процессора под 100%.
В .emacs ничего нет, кроме установки цветовой схемы и руссификации.
Есть еще проблемы:
- При попытке печати подвисает: экран не перерисовывает, на клавифтуру не отвечает;
- В sql-mode (sql-oracle) при передаче запроса порядка 200 строк подвисает. Если отсрелить sqlplus, то оживает.
Несколько настораживает количество варнингов при сборке, в основном, о неверном приведении типов.
зато он умеет работать с языками, для которых не установлена поддержка в Х-х -- я могу спокойно в GNU Emacs набирать по русски и по немецки, не заботясь что у меня есть руссификация клавиатуры и т.п.
А мне "понравились" высказывания про "Emacs Code Browser (ecb) и программирование", пробовал я этой штукой пользоваться, она конечно помогает по коду лазить, но до визуал студии не дотягивает, особено раздражает то что она показывает структуру только одного класа, того что открытый в буфере, а если хочется дерево класов увидеть? еще хреново работает с таким понятием как "проект", тулза из CEDET для этого глючная. Вообщем поставил я для програмирования себе 2 тулзы - SourceNavigator(чтобы в чужих сырцах копаться) и Anjuta, а на емак забил :))
Должно работать так как это именно есть представление макроса .. просто в данном конкретном случае описание кнопки не портируемо .. лучше всего использовать `kbd'
если дефайн типа
(global-set-key (kbd "C-a") "test")
то неявно он будет выглядеть как
(global-set-key (kbd "C-a") [(?t) (?e) (?s) (?t)]
потомучто строка это вектор чарактеров ..,то ест при нажатии C-a будет проэмулировано нажатия 't', 'e', 's' и 't' .. так можно например воткнуться в невыходную рекурсию .. типа
> зато он умеет работать с языками, для которых не установлена поддержка в Х-х -- я могу спокойно в GNU Emacs набирать по русски и по немецки, не заботясь что у меня есть руссификация клавиатуры и т.п.
>Похоже ты в ssh из вынды лезешь :)). Из xterm'a ssh понимает и все клавиши, и мышу.
Если бы! У нас тут все закирберочено. Я из крлогин лезу. Впрочем, на некоторые машины все более-менее, а вот на айбиэмки получается плохо. Только основной состав клавиш и стрелки.
>А мне "понравились" высказывания про "Emacs Code Browser (ecb) и программирование", пробовал я этой штукой пользоваться, она конечно помогает по коду лазить, но до визуал студии не дотягивает, особено раздражает то что она показывает структуру только одного класа, того что открытый в буфере, а если хочется дерево класов увидеть? еще хреново работает с таким понятием как "проект", тулза из CEDET для этого глючная. Вообщем поставил я для програмирования себе 2 тулзы - SourceNavigator(чтобы в чужих сырцах копаться) и Anjuta, а на емак забил :))
Вообще говоря, действительно визуал С круче пока всего, что я видел. Особенно классно именно подстановка методов класса - то, чего нет в емаксах. Увы, для этого, очевидно, надо парсить весь состав проекта, а значит надо заводить файл проекта и всю эту лабуду. Потеря стройности, куча мусорных файлов и так далее :( Кроме того, надо будет заставлять пользователя указывать какие файлы в проекте, а какие - нет. В общем другая сторона медали тоже есть, и плата для многих аскетов юникса непомерно высока.
Вот бы кто создал такой парсер, чтобы и коленца выкидывал как визуальный С и директорию не захламлял и юзера не загружал. Будет это называться - искусственный интеллект ;)
слушай, у меня к тебе вопрос есть: я хочу в емаксе по c-h настройть удаление символов. просто имхо так гораздо удобнее чем по бекспейсу, хотя за последнее время уже привык и к бекспейсу. Так вот, не знаешь, как ето можно сделать. через global-set-key не проходит))
>слушай, у меня к тебе вопрос есть: я хочу в емаксе по c-h настройть удаление символов. просто имхо так гораздо удобнее чем по бекспейсу, хотя за последнее время уже привык и к бекспейсу. Так вот, не знаешь, как ето можно сделать. через global-set-key не проходит))
> Вот бы кто создал такой парсер, чтобы и коленца выкидывал как визуальный С и директорию не захламлял и юзера не загружал. Будет это называться - искусственный интеллект ;)
>Вот бы кто создал такой парсер, чтобы и коленца выкидывал как >изуальный С и директорию не захламлял и юзера не загружал. Будет это >называться - искусственный интеллект ;)
такие файлы у ecb есть. semantic.cache называются. Вопрос в том как удобно представить информацию из них. ecb у меня не прижился. На пятнашке слишком мало рабочего пространства.
делает он вот что - умеет показать справку по нужной функции, Completion для названий модулей при вызове справок, улучшенное редактирование документации и еще по мелочи. ты посмотри описание в самом tinyperl.el
tiny-tools вообще прикольный пакет с добавлениями разными.
только это не ecb, это semantic (а еще точнее semanticdb). в скорем времени авторы семантика/cedet предполагают появление добавлений, которые будут добавлять имена членов классов и т.п., ибо сейчас уже вся нужная инфраструктура для этого есть