Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Emacs for Web Development? (Php/mysql/javascript/css/html

Tags:

php

emacs

I'm a Web developer. I had been using a variety of editors and ide-s for web development(php, javascript,html,css) six months before I decided to learn a true editor and started using emacs. I learned all the basics, used the starter kit, practiced using buffer, windows etc..

I got a grip in 2 months. A month ago I started learning about vim and I found a lot of plugins to achieve the things I want. I'm finding to achieve the same effect in emacs you have to do a lot(for php/js/css/html editing).

Here are the list of things I'm finding hard. Note: These things are related when I'm editing php/html/css/js.

  • syntax hightlighting(php/smarty). -- the php major mode is too old and it always highlights html/smarty inside the php code incorrectly.

  • I love ido-mode but i couldn't find how to define a project and fuzzy match files inside the predefined directory

  • I can setup nerdtree plugin to get a quick overview pane on the left with the files I'm working on with vim. But configuring speedbar and source code browser in emacs is bit difficult.

  • Context aware completion I really don't know how to do that. I have seen something like that in clojure mode where it shows the definition of a method in the messages area.

  • Tags-generation: The tags generated with excrebant-ctags does not always work with php. In vim it is easy I can open a file containing the definition right under the cursor.

  • Manual lookup I want to lookup the manual for a particular word under the cursor without opening the browser (in the messages area(mini-buffer)).


I love ido mode and switching b/w files in tramp,buffers,local files using ido-mode.

Can anyone point me in the right direction? Do you use emacs for same kind of editing I do? What is your work flow?.

like image 587
someisaac Avatar asked Aug 25 '10 12:08

someisaac


1 Answers

nxthml-mode is the ultimate mode for web development.

You can easily define a project in terms of its VCS or .dir-locals.el with find-file-in-project.

Fuzzy matching is called flex matching in ido. You can enable it with:

(setq ido-enable-flex-matching t)

I've never had any problems with ctags, manual lookup is trivial to implement...

like image 112
Bozhidar Batsov Avatar answered Oct 16 '22 03:10

Bozhidar Batsov