Esiste una * buona * modalità HTML per emacs?


23

Adoro gli emacs,

e voglio fare il mio lavoro di programmazione web,
ma non riesco a trovare un modo per farlo modificare correttamente l'HTML.

Voglio dire, è davvero terribile.

Farà bene HTML, ma non PHP, javascript, ecc.

Ho provato a ottenere html-helper-mode ... L'ho scaricato, messo in / usr / local / share / emacs / site-lisp e l'ho aggiunto al mio file .emacs:

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

copiato e incollato da qualche sito (non so elisp).
semplicemente, non evidenzia nulla.

Ho provato a scaricare tutta una serie di modalità e utilizzare qualche altra modalità per metterle insieme, senza alcun risultato.

Emacs è fantastico in tutti gli altri modi: perché non può svolgere il semplice compito di modificare pagine Web? Voglio dire, è una cosa abbastanza standard da fare per gli editori in questi giorni.

Quindi qualcuno sa come fare?

Risposte:


4

Hai controllato la pagina html di Emacs Wiki ? nxhtml in particolare sembra utile.


4
sembra utile ma è molto doloroso da usare ... si carica lentamente, non rientra correttamente, è brutto, corre lento, evidenzia tutto rosso e poi rende tutto corsivo e giusto, è doloroso ...
Carson Myers

1
Ho usato nxhtml con successo. I colori dei caratteri e il corsivo sono tutti controllabili personalizzando i volti
Doug Harris,

35

Ho avuto lo stesso problema, quindi ho deciso di scrivere in modalità web .

inserisci qui la descrizione dell'immagine

Web-mode.el è una modalità principale per Emacs destinata alla modifica di modelli Web misti (HTML con Java / JSP, PHP, CSS, JavaScript).

Non si basa su nessun'altra modalità. Fa evidenziare e rientrare la sintassi in base al tipo di blocco di codice. Ho scritto una piccola pagina di HOWTO su

Di

  • web-mode.el è una modalità principale per la modifica di modelli Web (HTML con PHP, Java / JSP, JavaScript, stili CSS).
  • web-mode.elnon sarà mai una modalità PHP o JS con funzionalità complete. (Non incoraggiamo blocchi di codice multilinea nei modelli!).

Caratteristiche native

  • rientro intelligente (in base al contesto: HTML, PHP, Java / JSP, JavaScript o CSS)
  • navigazione codice: C-c C-ntra apertura e chiusura tag HTML o tra controlli PHP> - if ... else ... endif, for ... endfor
  • Tag HTML con chiusura automatica (dopo
  • evidenziazione della sintassi (in base al tipo di blocco)
  • inserimento snippet C-c C-i(rientro automatico, consapevole della selezione del testo)
  • inserimenti automatici (es. ?>dopo <?php)

Vai a dire, mi salva la giornata ... Grazie @fxbois! Lo adoro. Finalmente posso ottenere il rientro del mix tra html, css, java, ecc. Può essere fatto con Python?
swdev,

@swdev potresti aprire un problema su github riguardo questa richiesta di compatibilità con Python. Potrebbe inviare un collegamento alla documentazione sulla sintassi del modello e un esempio di tale modello.
fxbois,

Sembra pulito, ma sembra usare regexp per analizzare HTML, piuttosto che avere un vero parser come psgml ...
David N. Welton,

3
Cosa intendi per vero parser? Attraverso il documento per trovare i tag che iniziano con <e terminano con> ecc. Ecc. Hai trovato qualche limite? Se ne trovi, non esitare a segnalare problemi sul repository github
fxbois,

3

Sono stato insoddisfatto delle modalità disponibili, ma recentemente ho trovato la felicità usando semplicemente il vecchio html-modepotenziato con yasnippete tidy.el. Come indicato nelle altre risposte, la modalità nxhtml è utile se si scrive xhtml.

Se vuoi evidenziare php e javascript, ti consigliamo di dare un'occhiata mmm-mode, il che ti permetterà di eseguire più modalità principali contemporaneamente. Non l'ho mai usato, quindi non so chi gestisce le combinazioni di tasti in conflitto, ecc ... quindi dovrete sentirvi come aggirarvi.


3

Dare modalità multi-web una prova, si tratta di un modo minore progettato con l'editing web in mente, seleziona la principale appropriato quando il punto si muove intorno.


0

Anch'io uso la modalità nXhtml per l'editing in modalità mista non riuscendo a far funzionare correttamente le modalità multiple. È stato un po 'roccioso, ma le recenti costruzioni si sono dimostrate utili. Sto correndo con Emacs 23 FWIW.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.