emacsに*良い* HTMLモードはありますか?


23

私はemacsが大好きです。

そして、その中でウェブプログラミングの仕事をしたいのですが、
HTMLを適切に編集する方法を見つけることができません。

ひどくひどいということです。

HTMLは正常に動作しますが、PHP、javascriptなどは動作しません。

html-helper-modeを取得してみました...ダウンロードして/ usr / local / share / emacs / site-lispに入れ、.emacsファイルに追加しました:

(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
  (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))

あるサイトからコピーして貼り付けました(elispがわかりません)。
ただ、何もハイライトしません。

たくさんのモードをダウンロードし、他のモードを使用してそれらをつなぎ合わせましたが、うまくいきませんでした。

Emacsは他のすべての点で非常に優れています。Webページを編集する簡単なタスクを実行できないのはなぜですか。つまり、最近の編集者にとってはかなり標準的なことです。

だから、誰もこれを行う方法を知っていますか?

回答:


4

Emacs Wiki htmlページをチェックアウトしましたか?特にnxhtmlは便利そうです。


4
便利なように見えますが、使用するのは非常に苦痛です...読み込みが遅く、適切にインデントされず、く、実行が遅く、すべてが赤くハイライトされ、すべて斜体になり、痛みを伴います...
Carson Myers

1
nxhtmlを使用して成功しました。フォントの色やイタリック体は顔カスタマイズすることで、すべての制御可能である
ダグ・ハリスを

35

私はあなたと同じ問題を抱えていたので、web-modeを書くことにしました。

ここに画像の説明を入力してください

Web-mode.elは、Emacsの主要なモードであり、混合Webテンプレート(Java / JSP、PHP、CSS、JavaScriptを含むHTML)の編集を目的としています。

他のモードに依存しません。コードブロックタイプに応じて、構文の強調表示とインデントを行います。私は少しHOWTOページを書きました

  • web-mode.el は、Webテンプレート(PHP、Java / JSP、JavaScript、CSSスタイルを含むHTML)を編集するためのメジャーモードです。
  • web-mode.elは、フル機能のPHPモードまたはJSモードにはなりません。(テンプレート内のコードの複数行ブロックを推奨しません!)。

ネイティブ機能

  • スマートインデント(コンテキストに応じて:HTML、PHP、Java / JSP、JavaScriptまたはCSS)
  • コードナビゲーション:C-c C-nHTMLタグの開始と終了の間、またはPHPコントロール間>-if ... else ... endif、for ... endfor
  • HTMLタグの自動クローズ(後
  • 構文の強調表示(ブロックの種類に応じて)
  • スニペット挿入C-c C-i(自動インデント、テキスト選択を認識)
  • 自動挿入(例:?><?php

言ってくれ、それは私の一日を救う...ありがとう@fxbois!大好きです。最後に、html、css、javaなどの混合のインデントを取得できます。Pythonで実行できますか?
swdev

@swdevは、このPython互換性の要求に関するgithubの問題を開くことができます。テンプレート構文のドキュメントへのdaリンクとそのようなテンプレートの例を送信できます。
fxbois

端正なルックスではなく、PSGMLのような本当のパーサを持つよりも、HTMLを解析するための正規表現を使っているようだ...
デヴィッド・N.ウェルトン

3
実際のパーサーとはどういう意味ですか?ドキュメントを走査して、<で始まり>などで終わるタグを見つけます。制限はありますか?見つかった場合は、githubリポジトリで問題を報告することをreportしないでください
fxbois

3

利用可能なモードに不満を感じていましたが、最近html-modeyasnippetとで増強された普通の古いものを使用することで幸せになりましたtidy.el。他の回答で言及したように、xhtmlを書いている場合、nxhtmlモードは便利です。

強調表示されたphpとjavascriptを取得mmm-modeする場合は、複数のメジャーモードを一度に実行できるようにするをご覧ください。私はそれを使ったことがないので、競合するキーバインディングなどを処理する人がわからないので、あなたはそこを自分のやり方で感じる必要があります。


3

与えるマルチWebモードにするときの周りの点が移動試して、それは念頭に置いてウェブ編集して設計されたマイナーモードだ、それは適切な専攻を選択します。


0

私も、混合モードの編集にnXhtmlモードを使用していますが、複数モードを正しく動作させることができませんでした。それは少し岩が多い乗り物でしたが、最近のビルドは有用であることが証明されました。Emacs 23 FWIWで実行しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.