Hallo, Am Thu, 29 Apr 2004, Christian Boltz schrieb:
Der vi kann das auch, wenn man die passenden Plugins hat ;-)
Offenbar nein. *eg*
cb@tux:~/.vim/ftplugin/html> ls -1 | sed 's/^/· /' · EasyHtml.vim · genutils.vim · libList.vim
Die drei (eigentlich EasyHtml.vim, das andere sind benötigte "Libraries") sorgen dafür, dass ich schöne Auswahllisten bekomme: - Press <F2> key to display attributes for the tag before/under the cursor - Press <F3> key to display values for the attribute before/under the cursor - Press <F4> ket to display values for the CSS Property befor/under the cursor Die Auswahllisten sind auf jeden Fall mit der Tastatur bedienbar, wenn man gvim oder kvim einsetzt, auch mit der Maus.
· closetag.vim
Eigentlich ganz simpel: durch die Tastenkombination Strg+Shift+_ wird der letzte noch offene Tag geschlossen. Es wird also </td>, dann </tr>, dann </table> eingefügt (natürlich vorausgesetzt, dass man gerade an einer Tabelle arbeitet ;-)
Bei XEmacs ist das (IIRC) C-c / (oder so). Das was ich meinte, mit "zusammenklicken" ist aber, dass nicht nur Attribute/Werte angeboten werden, sondern gemaess der durch die DTD vorgegebenen Struktur des sgml (zu dem HTML und XML[1] gehoeren) werden dir nur die an dieser Stelle validen Tags angeboten. Z.B. wird dir nach einem "<ol>" nur <li> als tag angeboten, den du einfuegen kannst. Fuegst du allerdings <ol> auch per Kontext-Menue ein, dann packt xemacs gleich das <li></li></ol> mit dazu ;) Aber "hinter" dem </li> wird dann wiederum nur <li> als oeffnender tag angeboten. DAS ist das, was vim AFAIK nicht kann. Oder doch? Und du hast es nur auch noch nicht gefunden? ;) Da xemacs so auch immer gleich den end-tag einfuegt kommt man automatisch zu validem html. Und wenn du im tag (also z.B. zwischen '
') klickst dann bietet dir xemacs natuerlich auch alle Attribute an. Und das ganze geht genauso mit allem was ne valide DTD hat (die XEmacs auch findet) und der sgml Syntax folgt (also auch xml, xhtml, docbook usw.). Und nen Validator (nsgmls) ist per default auch schon "drin", der sich per C-c C-v (oder ueber's Menue) aufrufen laesst. Tidy laesst sich aber auch einbinden. Das ganze ist also durchaus auch "klicki-bunti" kompatibel, nur hat man halt keine bunten Buttons... Falls allerdings ne DTD fehlt oder nsgmls nicht richtig installiert ist, dann ist die Config nicht ganz trivial. Das ist aber Sache des Paketbauers und das hat hier auch geklappt.· htmlmap.vim
Das ist ein nettes Helferlein, das gleich beim Eintippen Sonderzeichen in die HTML-Codierung &irgendwas; umwandelt.
Das macht _mein_ uralter xemacs nicht per default, aber der Modus kennt ein "encode characters", den man auch beim Speichern aufrufen kann -- und das Gegenstueck beim Laden. Funktioniert einwandfrei z.B. mit der Zeile '<td>test äöüßå</td>' in beide Richtungen. Mit neueren Emacsen sollte das vorkonfiguriert sein usw.
Die genannten Scripte gibt es übrigens auf www.vim.org
nsgmls und sgml-mode (plus html-mode) sollten bei SUSE dabei sein. Ggfs. findet man die auf www.emacs.org oder www.xemacs.org. Achso, bevor Missverstaendnisse aufkommen: klar, ich betreibe hier grad ein bisserl "advocacy". Aber, wie beim vim gilt eben, dass sich (x)emacs nicht aufdraengt, und man denkt dann halt (bei allen dreien Editoren), dass es "sowas" nicht gibt. Deswegen will ich's hier nennen, so dass jeder, den's interessiert, sich das man anschauen kann. Ich mag halt (X)Emacs. Und vi(m) nicht. Dennoch "respektiere" ich vim. Achso, noch fuer alle "Anfaenger" bzgl. Emacs und vim: vim ist recht gross, Emacs noch deutlich groesser, dafuer ist dann aber auch _sehr_ viel dabei: ein vi-mode fuer die, die's nicht lassen koennen, Gnus (mail + newsreader), MH (noch'n MUA), Internationalisierung, z.B. per Mule (was _massig_ Platz frisst[2]), w3 (ein Browser), ein Kalender, Tetris, Minesweeper u.v.v.a.m... Und natuerlich die vielen vielen Modi fuer alle moeglichen Textdateien (plain, sh, awk, C, C++, perl, PHP, Lisp, ASM, Ada, Pascal, Prolog, Python, Rexx, Simula, Tcl, VRML, Xrdb, crontab, M4, SGML (inkl. HTML und XML) u.v.a.m). Und natuerlich der erstklassige LaTeX Modus mit AucTeX. Sowie BibTeX usw. Und dann ist da noch dired (sowas wie ein Dateimanager). CVS/RCS, diff, gdb u.a. Anbindung... Dazu dann die Einbindung von Info und Manpages per 'C-h i' und 'C-h C-i' bzw. 'C-h m'... Anders gesagt: seit ich Xemacs verwende brauch ich den ganzen GUI Kram (von KDE oder Gnome) fast nicht mehr. Ausser zum Spielen ;) Im Vergleich zu den noetigen KDE-Apps und Libs ist XEmacs also schlank :)) Aber, ja, die Funktionsfuelle bedeutet auch Komplexitaet, die sich zum Beispiel im tief verschachtelten Optionen-Menue manifestiert. Daher sei gerade Anfaengern 'C-h M' (infos ueber den aktuellen mode), 'C-h a' (apropos in der Hilfe), 'M-x customize-apropos' ( == Options -> Customize -> Apropos...) sowie 'C-h ? ?' bzw. gleich 'C-h f' oder 'C-h v' empfohlen... AFAIK kann vim davon vieles auch, wie gut weiss ich aber leider nicht. Komplex ist vim aber ebenso, wie sich z.B. in der Hilfe (:help) manifestiert. -dnh [1] allerdings geht man davon ab mit diesem "XML in XML definieren", wie das heisst ist mir grad entfallen, XScheme? Mit DTD ist XML jedenfalls SGML. [2] xemacs kann seit (mind. 4) Jahren z.B. Japanisch... Allein die Schriften dafuer sind "dick" -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.