LINUX.ORG.RU

Автоматом должен режим php включаться, когда ты тег <?php > используешь. Делать ничего не надо вроде.

А если тебе открытие файлов *.php надо к web-mode привязать, то в инициализацию:

(add-to-list 'auto-mode-alist '("\\.php$" . web-mode))
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от screamm92

какое действие имеется в виду под auto-indent? У меня web-mode не стоит, поэтому и спрашиваю. Я предполагаю, что автоматический сдвиг строчки, когда ';' ставишь в конце?

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

Поставил web-mode. Проверил. Да, автосдвига нет. Бегло код глянул - они свой php-режим написали. Если есть там такая скрытая возможноть, то надо поискать, но что-то я не уверен. Иначе бы по умолчанию включили. Если переводить строчку не <RET>, а C-j, то, однако, сдвигает по контексту вроде.

Для того, чтобы использовать настоящий php-mode, тебе потребуется не web-mode, а что-то типа mmm-mode (multi major mode). Когда-то очень давно я этой связкой и пользовался. У меня в одном буфере работало четыре major-mode: html+js+php+css. срабатывали по тегам. Теги настраивались в переменных mmm-mode. Когда ?php, то активировался php-mode. Когда <script...>, то javascript-mode. Когда <style...>, то css-mode. Но это не сильно точно, потому что деталей не помню. Так как было это давно (когда был Emacs 21), то я не знаю, что изменилось и что усовершенствовалось в области mmm-mode. Может, на смену что-то пришло. Я его использовал только для этого. Веб-разработкой не занимаюсь особо. Можешь посмотреть в эту сторону, но у меня есть сомнения, что осилишь. В интернете должны быть чьи-нибудь настройки такой связки. Там были особенности в то время с репарсингом.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от screamm92

Еще есть некий nxhtml. Тоже вроде в буфере может несколько major mode держать. Я не пробовал, если честно.

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

а как бы добавить к php-mode адекватную подсветку html тегов и js?

Хорошего решения для емакса ты не найдёшь, увы. Всё, что есть, имеет недостатки - либо иногда глючит с отступами и подсветкой, либо тормозит. Как минимум год назад так было.

Вот варианты: http://www.emacswiki.org/emacs/MultipleModes

Вариант с переключением режимов на лету (как описано в комментах выше) тоже имеет недостаток - подсветка работает только для одного языка, и с отступами также возникают проблемы.

Более-менее рабочая штука была в nxhtml, но он достаточно небыстр, и также иногда ведёт себя странно. Сейчас подробностей не вспомню, но в какой-то момент он меня достал и я его выбросил.

Для меня самым эффективным вариантом оказался простой web-mode, который, может, и не является полноценным режимом для php + js, но базовые вещи делает вполне нормально. Всё равно смешивать всё в одном файле пошло, а для мелких кусков его хватает.

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

Вариант с переключением режимов на лету (как описано в комментах выше) тоже имеет недостаток - подсветка работает только для одного языка, и с отступами также возникают проблемы.

Не знаю, как это в nxhml, но у меня подсветка с mmm-mode работала для всех языков одновременно. Да и вроде nxhtml тоже светит все языки (по видяхам на youtube).

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

Я, наверное, не совсем вчитался, и имел в виду автоматическое переключение major-mode при заходе в некий блок текста. Как минимум один такой режим я видел и даже пробовал, но уже не помню его название.

Nxhtml (а точнее - mumamo) и mmm делают хитрее, у них там внутри специальный набор костылей.

risenshnobel ★★★
()

В общем остался я на web-mode ибо за******((

screamm92
() автор топика
Ответ на: комментарий от pashazz

тем более судя по году рождения ТС еще может претендовать на бесплатную лицензию. А за год курить elisp и сделать что-нибудь нормальное.

Emacs, к сожалению, не годится для больших проектов вообще. Как редактор на 1 файл или для LaTeX на несколько - лучший.

pashazz ★★★★
()
Последнее исправление: pashazz (всего исправлений: 1)
Ответ на: комментарий от pashazz

Emacs, к сожалению, не годится для больших проектов вообще. Как редактор на 1 файл или для LaTeX на несколько - лучший.

Аргументируй плиз

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

постоянно какие-то недоделки, мешающие работать, как ваша. Также, ECB не дотягивает до современных IDE. Хотя наверное, лет этак через n я возьмусь за Emacs Lisp и сделаю из моего Emacs нормальную IDE.

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

да, я решил задачу. поставил multi-web-mode. Он отлично работает и переключает моды как мне нужно. Работает по принципу поиска тегов и <?php ?> и так далее, все задается в одном месте. Что делает его настройку просто елементарной. С js/html/css/php все отлично. С рельсами печальнее, так как не нашел до сих пор адекватный автокомплит)) Так что сижу параллельно в vim и emacs. Благодаря tmux это работает отлично. Но с руби мода, я поражаюсь до сих пор.

screamm92
() автор топика
Ответ на: комментарий от pashazz

на самом деле годится, если паралельно в командной строке сидеть)

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

поставил multi-web-mode

Да, он работает вроде. Проверил. Но я сразу заметил у него недостаток. Может, не фатальный, но все же: он перекрашивает весь буфер в текущий режим. То есть если оказываемся внутри кода php, то и окружающий html тоже перекрашивается как php.

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

А вот Ruby это печальная беда.

С Ruby не знаю, не пишу на нем. А какой режим использовался для ruby? И какие проблемы с автокомплитом. Его просто нет или он в чем-то не годится?

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