LINUX.ORG.RU
ФорумTalks

Накидайте годных плагинов для emacs

 ,


1

5

Таких, чтоб увидеть и обалдеть. Emacs-like софт тоже сгодится, если такой за пределами емакса существует. А то у вимеров есть powerline - красивый и с кучей плюшек под разные плагины, или ranger - вкусовщина конечно, но имхо он просто прекрасен, на андроиде есть Vim-touch, полноценный vim с поддержкой плагинов и удобствами для сенсорных экранов. В емаксе для всего выше перечисленного и не перечисленного есть аналоги, зачастую заруливающие вимовские по возможностям, но, по общим ощущениям, не такие вылизанные что-ли... Да, на всякий случай - пишу пост в conkeror'е, если вы понимаете о чем я:).

★★

Хм.... я не гуру и не так давно вникаю в емакс попробуй

  • сборку emacs for python там несколько настроек по умолчанию неплохо впилены изначально.
  • а так я пользуюсь модами для octave G-code, graphviz, gnuplot, markdown, wikipedia,python,C , в плане прикрученной компиляции по мимо подсветки синтаксиса.
  • C-h i Это вызов справки, а справка и ориентация в ней у Emacs хороша.

Вообще его пилить надо и превращать во что-то более удобное, мне вот в латеховской моде нехватает вставки символов , если я не помню их названия((

Ещё не хватает русских называний и подсказок в менюшках, так как я комбинации и фишки всех мод наизусть не помню.

DR_SL ★★★★★
()
Ответ на: комментарий от quiet_readonly

О.... начать надо мне кажется с этого

Писал подсветку... пока все очень скромненько для HAL файлов linuxCNC.

;;Подсветка синтаксиса для HAL в LinuxCNC
(define-generic-mode hal-linuxcnc-generic-mode
  '(("#".?\n) ("/*"."*/"))
  '("or" "and")
  '(;;("\\(#<_?[A-Za-z0-9_]+>\\)" (1 font-lock-type-face))
    ;;("\\([NnGgMmFfSsTtOo]\\)" (1 font-lock-function-name-face))
    ("\\(net\\|loadrt\\|loadusr\\|addf\\|setp\\|linksp\\|newsig\\)" (1 font-lock-function-name-face))
    ("\\(axis\\|stepgen\\|parport\\|pwmgen\\|iocontrol\\|motion\\|classicladder\\)" (1 font-lock-builtin-face))
    ("\\([ \t]+-+[A-Za-z0-9_]+\\)" (1 font-lock-string-face))
    ("\\(AXIS_\\|EMCMOT\\|TRAJ\\)\\(servo\\|base\\)-thread" (1 font-lock-constant-face))
    ("\\(step\\|dir\\|enable\\)" (1 font-lock-type-face))
    ("\\([0-9]+\\)" (1 font-lock-constant-face))
    )
  '("\\.hal\\'")
  nil
  "Generic mode for .hal file. LinuxCNC HAL")

Вообще хотел у гуру спросить как в emacs-for-python реализованы выпадающие списки и откуда они имена/переменные берут, хочу также но для GNU/Octave , LaTeX

DR_SL ★★★★★
()
Ответ на: комментарий от Bioreactor

Ты сейчас лопнешь, детка. Как насчет назвать мне хороший аналог емаксовскому verilog-mode, да чтобы с его раскрытием /* AUTO */ сигналов?

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от Homura_Akemi

Это признак реальной гибкости, а не готовности для студенческих скрипто-плагинных поделок на 1 день, которые и окружающим-то показать стыдно.

quiet_readonly ★★★★
()
Ответ на: комментарий от DR_SL

Не имею ничего против вас лично, но поскольку псевдоэлита на емаксах и вимах откровенно достала... Итак:

  • Я не вижу здесь инкрементального лексера. Я вижу лексер, который парсит весь файл целиком, и когда именно он вызывается - только емаксу ведомо.
  • Тип файла видимо определяется по прописанному в комментарии в самом файле режиму, а не по MIME-типу.
  • Декларативное описание подсветки здесь на уровне kate (ну или QtCreator, что одно и то же), ничего уникального.

В общем, емакс позволяет регулярками задать подсветку, которая будет применяться для всего файла целиком (что приведёт к задержкам при наборе символов в большом файле). Просто офигеть какой мощный API.

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

Я не илита, просто хочу один редактор для редактирования разных текстовых файлов)

Так построена простейшая подсветка , которую я находил, есть ещё пример подсветки по сложнее Octave Mode и прочее, но я тут не смогу помочь, сам нуб.

DR_SL ★★★★★
()
Ответ на: комментарий от quiet_readonly

И да попрошу кинуть ссылку на название всех этих фич которыми должен обладать IDE-редактор программного кода, я в универе на программиста не обучался, поэтому много слов( инкрементальный лексер,MIME) для меня не понятно, хотя если мне скажут как это выглядит, буду признателен.

DR_SL ★★★★★
()
Ответ на: комментарий от Bioreactor

Нормальные реально оплачиваемы кодеры сидят в Eclipse, IDEA и NetBeans

Брехня. Тормозное гумно.

gensym ★★
()
Ответ на: комментарий от AiFiLTr0

Ты сейчас лопнешь, детка. Как насчет назвать мне хороший аналог емаксовскому verilog-mode, да чтобы с его раскрытием /* AUTO */ сигналов?

Не обращай внимания, он из жабаболота не вылезает.

gensym ★★
()
Ответ на: комментарий от DR_SL

К сожалению, мне не доводилось встречать подробный словарик, даже на википедии, набирал терминов по мере курса в университете и изучения кода QtCreator. Но в целом IDE собирает максимум информации об исходном коде, настройках сборки/запуска и системах контроля версии, в этом и есть отличие от редактора.

MIME-тип используется, чтобы проверять тип файла не по комментарию в нём, а по расширению, корневому элементу xml или другим признакам (QtCreator смотрит по регулярке ^\#include, к примеру). В IDE можно повесить свой редактор на указанный MIME-тип.

Инкрементальный лексер используют для скорости, в нём с концом каждой строки ассоциируется внутреннее состояние лексера для следующей строки - для C/C++ хватит normal_text и in_comment. Лексер даёт подсветку для строки и продолжает дальше, если состояние строки изменилось (например, пользователь ввёл /*, чтобы закомментировать 10 строк кода). А IDE вызывает его для строки, где ввели или удалили символ.

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