Использование Emacs для веб-разработки? (PHP/MySQL/JavaScript/CSS/HTML

Я веб-разработчик. Я использовал множество редакторов и разработчиков для веб-разработки (php, javascript, html, css) за шесть месяцев до того, как я решил изучить настоящий редактор и начал использовать emacs. Я изучил все основы, использовал стартовый комплект, практиковал использование буфера, окон и т.д.

Я получил хватку через 2 месяца. Месяц назад я начал изучать vim, и я нашел много плагинов для достижения того, что я хочу. Я нахожусь для достижения такого же эффекта в emacs, который вам нужно сделать много (для редактирования php/js/css/html).

Вот список вещей, которые я нахожу. Примечание. Эти вещи связаны, когда я редактирую php/html/css/js.

  • синтаксис hightlighting (php/smarty). - основной режим php слишком велик, и он всегда подчеркивает html/smarty внутри php-кода некорректно.

  • Мне нравится ido-mode, но я не мог найти, как определить файлы проекта и нечеткого соответствия в предопределенном каталоге

  • Я могу настроить плагин nerdtree, чтобы получить краткий обзор слева с файлами, с которыми я работаю с vim. Но настройка скоростного бара и браузера исходного кода в emacs немного сложна.

  • Контекстное завершение. Я действительно не знаю, как это сделать. Я видел что-то подобное в режиме clojure, где он показывает определение метода в области сообщений.

  • Генерация тегов: теги, созданные с помощью excrebant-ctags, не всегда работают с php. В vim легко я могу открыть файл, содержащий определение, прямо под курсором.

  • Ручной поиск. Я хочу найти руководство для конкретного слова под курсором, не открывая браузер (в области сообщений (мини-буфер)).


Мне нравится режим ido и переключение ч/б файлов в tramp, буферы, локальные файлы с использованием ido-режима.

Может ли кто-нибудь указать мне в правильном направлении? Используете ли вы emacs для такого же редактирования? Каков ваш рабочий поток?

Ответы

Ответ 1

nxthml-mode - это окончательный режим для веб-разработки.

Вы можете легко определить проект в терминах его VCS или .dir-locals.el с помощью f ind-file-in-project.

Нечеткое согласование называется гибким согласованием в ido. Вы можете включить его с помощью:

(setq ido-enable-flex-matching t)

У меня никогда не было проблем с ctags, ручной поиск тривиально для реализации...

Ответ 2

Ручной поиск Я хочу найти руководство для конкретного слова
под курсором, не открывая браузер. (в области сообщений (Мини-буфер))

Похоже, вы после поддержки в режиме eldoc-mode для PHP? (включите его в файле lisp, чтобы увидеть пример)

;; Основные режимы для других языков могут использовать ElDoc, определяя;; соответствующая функция в качестве локального значения буфера;; `Eldoc-документация-функции.

Поиск функции eldoc-documentation-function и PHP вызывает следующее: http://www.emacswiki.org/emacs/php-doc.el

Ответ 3

Мне нравится Emacs для небольших проектов и быстрого редактирования.

Есть такие вещи, как C-x (, чтобы сделать повтор-макрос, delete-matching-lines, describe-function (...), apropos, быстрое C-x 2 для разбиения окна, предупреждения (текст был отредактирован в другом месте вы действительно хотите...) и быстрое исправление Lisp в .emacs, которое заставляет меня постоянно открывать Emacs.

Но для больших проектов, когда вы хотите навести ключевое слово и определить его, иерархию вызовов, обновленную подсветку синтаксиса и т.д.... Emacs для меня недостаточно. Я использую Eclipse (который медленный и не идеально подходит для C С++).

Ответ 4

  • синтаксис hightlighting (php/smarty). - основной режим php слишком велик, и он всегда подчеркивает html/smarty внутри php-кода некорректно.

Самый простой и лучший способ управления смешанными языками в одном буфере - это клонировать окно, показывающее его с помощью C-x 4 c, и использовать различные основные режимы для каждого окна, показывающего этот единственный буфер, например один окно с php-mode, одно окно с nxhtml-mode, чтобы правильно выделить синтаксис HTML.