【问题标题】:Using Emacs for Web Development? (Php/mysql/javascript/css/html使用 Emacs 进行 Web 开发? (php/mysql/javascript/css/html
【发布时间】:2011-04-03 16:43:03
【问题描述】:

我是一名网络开发人员。在我决定学习真正的编辑器并开始使用 emacs 之前的六个月,我一直在使用各种编辑器和 ide-s 进行 Web 开发(php、javascript、html、css)。我学习了所有的基础知识,使用了入门工具包,练习了使用缓冲区、windows 等。

我在 2 个月内掌握了。一个月前我开始学习 vim,我发现了很多插件来实现我想要的东西。我发现要在 emacs 中达到相同的效果,你必须做很多事情(对于 php/js/css/html 编辑)。

这里列出了我很难找到的东西。注意:这些东西在我编辑php/html/css/js时是相关的。

  • 语法高亮(php/smarty)。 -- php专业模式太老了,php代码里面的html/smarty总是高亮不正确。

  • 我喜欢 ido-mode,但我找不到如何在预定义目录中定义项目和模糊匹配文件

  • 我可以设置 nerdtree 插件,以便在左侧快速概览窗格,其中包含我正在使用 vim 处理的文件。但是在emacs中配置speedbar和源码浏览器有点困难。

  • 上下文感知完成我真的不知道该怎么做。我在 clojure 模式下看到过类似的东西,它在消息区域中显示方法的定义。

  • 标签生成:使用 excrebant-ctags 生成的标签并不总是适用于 php。在 vim 中,我可以很容易地在光标下打开一个包含定义的文件。

  • 手动查找我想在不打开浏览器的情况下查找光标下特定单词的手册(在消息区域(迷你缓冲区)中)。


我喜欢 ido 模式和使用 ido-mode 在tramp、缓冲区、本地文件中切换黑白文件。

谁能指出我正确的方向?您是否使用 emacs 进行与我相同的编辑?你的工作流程是什么?

【问题讨论】:

  • 你的问题是接受投票以接近“主观和争论”,在我看来,你的头衔可能是最大的罪魁祸首。缓和挫败感可以给你带来一些善意。我已经稍微清理了您的格式,但会将内容更改留给您。

标签: php emacs


【解决方案1】:
  • 语法高亮(php/smarty)。 -- php专业模式太老了,php代码里面的html/smarty总是高亮不正确。

在一个缓冲区中管理混合语言的最简单和最好的方法是使用 Cx 4 c 克隆显示它的窗口并使用显示此单个缓冲区的每个窗口都有不同的主要模式,例如,一个带有 php-mode 的窗口,一个带有 nxhtml-mode 的窗口,以正确突出显示 HTML 语法。

【讨论】:

    【解决方案2】:

    我喜欢 Emacs 用于小型项目和快速编辑。

    有类似C-x ( 来制作重复宏、delete-matching-linesdescribe-function (...)、apropos、快速C-x 2 拆分窗口、警告(文本在其他地方编辑过你真的想要吗...)以及.emacs 中的快速 Lisp 修复,这让我可以随时打开 Emacs。

    但是对于更大的项目,当您想要悬停一个关键字并拥有它的定义、调用层次结构、更新的语法突出显示等时...... Emacs 对我来说是不够的。我使用 Eclipse(对于 C C++ 来说它很慢而且并不完美)。

    【讨论】:

      【解决方案3】:

      手动查找我想查找特定单词的手册
      在光标下而不打开浏览器。 (在留言区 (迷你缓冲区))

      听起来您正在寻求对 PHP 的 eldoc-mode 支持? (在 lisp 文件上启用它以查看示例)

      ;;其他语言的主要模式可以通过定义一个
      来使用 ElDoc ;;适当的函数作为
      的缓冲区局部值 ;; `eldoc-documentation-function'。

      搜索 eldoc-documentation-function 和 PHP 会发现: http://www.emacswiki.org/emacs/php-doc.el

      【讨论】:

        【解决方案4】:

        nxthml-mode是Web开发的终极模式。

        您可以使用 find-file-in-project 根据其 VCS 或 .dir-locals.el 轻松定义项目。

        模糊匹配在 ido 中称为弹性匹配。您可以通过以下方式启用它:

        (setq ido-enable-flex-matching t)
        

        我从来没有遇到过 ctags 的任何问题,手动查找很容易实现...

        【讨论】:

        • 最好的推荐。如果你像我一样来这里寻找 PHP/JS/HTML 的 emacs 混合模式,试试 nxhtml!
        猜你喜欢
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-11
        相关资源
        最近更新 更多