LINUX.ORG.RU

emacs в качестве IDE


0

0

День добрый.

Один из наиболее часто встречающихся вопросов на юниксово-программерских форумах/ньюсгруппах/эхоконференциях — “скажите, какие есть IDE под Unix?”. Часто на этот вопрос советуют использовать emacs либо vim. Сам я всегда использовал vim, но последнее время решил пощупать emacs и назрело у меня по этому поводу некоторое количество вопросов. Поделитесь либо готовыми решениями, либо ссылками на внятные статьи по этой теме. Советовать учить elisp – не надо. Выучу. Но сейчас меня интересуют несколько вполне определённых вещей, которыми я хочу научиться пользоваться в emacs сейчас.

1. Перемещение по тэгам.
Люди, ткните пальцем, где по-человечески описана работа с тэгами. Интересует работа с тэгами в C/C++, Java и Python. В vim я для этих целей генерировал файл с тэгами с помощью ctags и потом мог перемещаться по коду с помощью хоткеев Ctrl + ] / Ctrl + t. Как можно тоже самое сделать в emacs? Сгенерировал я теги, используя etags, куда дальше копать? Возможно ли по нажатию на клавишу получать меню со списком вхождений интересующего тега и, в идеале, самой найденной строкой, чтоб можно было посмотреть не переходя по тегу?

2. Что есть юзабельного для интеграции emacs с системами контроля версий? Конкретно – интересует svn. Желаемый минимум – checkout/update/commit, но душа просит всяких вкусностей типа удобного просмотра диффов, запроса списка ревизий, в которых менялась интересующая строка и прочих прелестей.

3. Как включить подсветку парной скобки? А переход на парную скобку есть? Возможно ли в дополнение к подсветке парной скобки настроить и выделение фрагмента в скобках изменением фона?

4. Сейчас пробую пользовать Gnus для чтения ньюсов и назрел вопрос – возможно ли заставить gnus автоматически сохранять локальные копии прочитанных сообщений? Чтоб не тянуть их заново из инета.

5. Как работать с автодополнением? Возможно ли сделать вывод вариантов автодополнения в виде выпадающего меню?
По умолчанию работает что-то вроде автодополнения по Ctrl + Alt + /, но оно приводит все буквы к одному регистру, не обращая внимания на регистр дополняемого слова. Это багофича, или это я такой криворукий, что-то не так настроил? Краем уха слышал, что в emacs через cedet должно работать контекстно-зависимое автодополнение, вот и хочется пощупать его.

6. Есть ли какая-нибудь продвинутая работа с закладками? Мне хочется иметь возможность просмотреть список расставленных мною закладок, желательно – с кусками близлежащего кода и возможностью оставлять комменты к закладкам.

С уважением, Artem Korneev.

Пишу про emacs21, хоть он и довольно так сказать надежен.

1. С тегами сам промучался и бросил - последнее время только для анализа , а что он там понаходит непонятно - в смсыле всё или не совсем всё.

2. есть встроенный pcl-cvs делается examine директории, читать в руководстве. Пользовал - отличная штука.

Вообще в емаксе классный мануал. Там кратко и по делу - и даже особенно важные секции красным подсвечены.

Пользовал еще полуофициальную софтину для clearcase - убил - тормоз превеликий.

Глянул в нете - есть что-то вроде pcl-cvs, только для svn.

3. a. options/parent match highlighting b. есть - внопки все время забываю :) c. фрагмента не знаю %) идея забавная, надо подумать.

5. a. Пользую Esc-/, но редко. b. В последний раз когда видел (2 года назад) работало очень не приятно - раздражает когда хреновина че-то там парсит при загрузке.

gena2x ★★★
()

Ты прочитал целиком GNU Emacs manual? А Emacswiki?

> Что есть юзабельного для интеграции emacs с системами контроля версий?

«23.8 Version Control». Очень позитивно. SVN, Mercurial и ещё пяток систем нормально держит.

> Как включить подсветку парной скобки? А переход на парную скобку есть? Возможно ли в дополнение к подсветке парной скобки настроить и выделение фрагмента в скобках изменением фона?

Всё есть, `M-x customize-group RET paren-matching RET`. Переход на парную скобку — например, `C-M-n`/`C-M-p`, для лиспов удобны `forward-sexp` и `backward-sexp`.

> но оно приводит все буквы к одному регистру

Даже обычный dabbrev (`M-/`) подставляет_с_учётом того, как КакНаписаноСлово. Для исходников попробуй вызывать `M-x semantic-ia-complete-symbol-menu`. Там в принципе много способов дополнять слова. Для человеческих языков кошерен `predictive-mode`.

> Перемещение по тэгам.

Если ты используешь CEDET, то скажем `C-c , n` и `C-c , p` (посмотри в меню «Senator», там большинство фич выписано).

> возможно ли заставить gnus автоматически сохранять локальные копии прочитанных сообщений?

ХЗ. Gnus agent — не то?

Sphinx ★★☆☆
()

по поводу пятого пункта (регистр символов при дополнении): C-h v dabbrev-case-fold-search

Eshkin_kot ★★
()

Последнее время для C использую xcscope - привязка к cscope. Тут и поиск определения функции, и её вхождения.

anonymous
()

1) semantic
2) встроено, читай мануал (хотя в цвс-версии интеграцию с vcs сильно перелопатили, пользуйся лучше ей)
3) show-paren-mode
4) (setq gnus-use-cache t) или включи gnus agent
5) semantic

anonymous
()
Ответ на: комментарий от anonymous

А semantic позволяет находить вхождения функции по имени, как cscope? Я вот что-то не нашёл. Буду благодарен, если расскажете как.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.