Dringend: emacs richtig einstellen
-
Hallo,
Ich habe mir Emacs21 mit apt gezogen auf mein Debian Sarge/2.6.8/Fluxbox. Ich kenne Emacs als meinen Lieblingseditor, aber was ist das was ich da als Emacs21 bekomme?! Die Schriften hab ich gerade noch so einstellen koennen - aber irgendwie fehlt ihm nun der Sinn fuer Farbe (und was weiss ich was im Hintergrund noch alles nicht geht). Meine Suche nach einem config File blieb bis jetzt vergeblich und ich hoffe, dass es vielleicht hier jemanden gibt, der mir Tipps geben kann dazu - bitte - es ist dringend!!!!!Probleme:
1. Farbe:
- Oeffne ich (mit C-x C-f) einen Folder habe ich absolut null Texthighlighting im Menu - wo kann ich das bitte einschalten?- Oeffne ich bei Emacs21 eine Shell (M-x shell) erscheint der Prompt farbig (hier blau), so wie er sein soll. Gebe ich dann zB ls -l (bei mir ll) ein, erscheint die Liste jedoch so:
user@Zebulon:~$ cd /mnt/data/music/ user@Zebulon:/mnt/data/music$ ll ^[[0mtotal 40 drwxrwxrwx 2 root root 8192 2005-04-15 17:32 ^[[01;34mBossa^[[0m/ drwxrwxrwx 25 root root 4096 2005-04-21 11:16 ^[[01;34mDepeche Mode^[[0m/ dr-xr-xr-x 2 root root 4096 1979-12-31 23:00 ^[[01;34mElectro Bossa^[[0m/ dr-xr-xr-x 5 root root 4096 2005-04-21 17:39 ^[[01;34mPixies^[[0m/ drwxrwxrwx 2 root root 20480 2005-04-21 17:41 ^[[01;34mplaylist^[[0m/ ^[[muser@Zebulon:/mnt/data/music$
WARUM das jetz??!!!!!
Ich habe mit M-x list-colors-display mal geschaut ob er vielleicht Farbenblind ist - isser aber nich, er kennt alle moeglichen versch Farben, verwendet diese nur nicht. Kann ich ihn dazu zwingen? Was kann er da bitte oben nicht darstellen mit ^[[01;34 und ^[[0m - und wie behebe ich das?
2. Programmieren
Ich habe vorher mit Emacs21 auf Redhat immer auch Java programmieren koennen, MIT Texthighlighting - ohne find ich es etwas witzlos, wie bekomm ich mein java Texthighlighting wieder (mit M-x java duerfte er doch im java mode sein, das zeigt er zumindest auch an)?3. Das Rollrad von meiner Maus kennter auch nich - kA, das is aber eh nich so wichtig.
Ich habe hier bisher nachgesehn, wie man das einstellen koennte:
http://www.gnu.org/software/emacs/emacs-faq.text
Da steht was von `termcap' wo finde ich `termcap' - was is das eigentlich und wie stelle ich das um?! Des weiteren steht da das es per default ausgeschaltet ist von Emacs21 - der Prompt is aber blau, fuer genaueres soll man wohl die *Note lesen - diese steht aber nirgends ?!!!
-
AFAIK muss global-font-lock-mode auf t gesetzt werden. Naja, du kannst im X11-Modus auch einfach auf Optionen klicken und das auswählen
java-mode ist übrigens der Java Modus. Den musst du natürlich installieren.
Ansonsten solltest du für die Mausradunterstützung das mwheel-Packet installieren.
(autoload 'mwheel-install "mwheel" "Mouse wheel support.") (mwheel-install)
schaltet in deiner .emacs-Datei die Unterstützung ein.
-
m-x shell ist bei mir auch unbenutzbar, wegen dieser unausgewerteten escapesequenzen
kingruedi schrieb:
Ansonsten solltest du für die Mausradunterstützung das mwheel-Packet installieren.
(autoload 'mwheel-install "mwheel" "Mouse wheel support.") (mwheel-install)
bei mir hat auch schon (mouse-wheel-mode t) ausgereicht.
-
SUPER - ich habe zwei Opfer gefunden, die mir endlich mal eine Antwort auf diese Probleme schreiben - Danke!!!
Ich habe das nun schon in einigen Foren gepostet, mit absolut null Erfolg!OK, also ich war natuerlich im java-mode (sonz waers ja etwas sinnlos syntax highlighting zu erwarten, hahaha). Gut also ich hab nun rausgefunden wie man sich das Syntaxhighlighting aktiviert:
Syntax Highlighting:
-> starte den emacs(X11), gehe dort auf Optionen/Global Font Lock Mode/ (enablen),
dann auf Optionen speichern. Das duerfte afaik dieselbe Einstellung sein.Escape Sequencen fuer Farbe blau (wie ich mittlerweile weiss):
Tja das mit den Escape Sequencen ist immer noch da und nerviger dennje!!!
Bitte es muss doch jemanden geben, der weiss wie man das wegmacht - das ist die Pest!?!Mausrad:
So wichtig ist das nicht, da ich finde es ist nerviger, beim tippen aufzuhoeren und nach ner Maus zu suchen als einfach einmal rueber auf die Pfeiltasten zu langen.
Aber gut, meine Maus plus Mausrad funktionieren wunderbar, bis auf eben bei emacs21 ?! Ich denke das mwheel Paket ist also schon installiert.
Wo muss ich das denn eingeben, soll ich das quasi direkt in die .emacs datei von zB user eintippen?EDIT:
ich habs nun versucht in .emacs einzutippen, die meissten Zeilen dort beginnen mit' ich habs mit und ohne, beide Versionen ausprobiert, weder txt noch X11 Emacs zeigen eine Veraenderung?!
-
einfach (mouse-wheel-mode t) in die .emacs schreiben
-
DrGreenthumb schrieb:
m-x shell ist bei mir auch unbenutzbar, wegen dieser unausgewerteten escapesequenzen
Eigentlich nimmt man eh eshell. Ansonsten könnte man aber mal mit ansi-color-for-comint-mode oder sowas herumspielen.
kingruedi schrieb:
Ansonsten solltest du für die Mausradunterstützung das mwheel-Packet installieren.
(autoload 'mwheel-install "mwheel" "Mouse wheel support.") (mwheel-install)
bei mir hat auch schon (mouse-wheel-mode t) ausgereicht.
Dito. XEmacs<->Emacs ...
-
Daniel E. schrieb:
DrGreenthumb schrieb:
m-x shell ist bei mir auch unbenutzbar, wegen dieser unausgewerteten escapesequenzen
Eigentlich nimmt man eh eshell.
Ah, danke.
-
M-x eshell
Oh mann, das muss man aber auch wissen oder - SUPER, Danke!!
(wieso gehts dann aber eigentlich unter ner Fertig Distri wie Redhat auch mit M-x shell ohne Escapesequencen???)
-
Corcovado schrieb:
M-x eshell
Oh mann, das muss man aber auch wissen oder
Nö, stünde auch in der Doku :).
(wieso gehts dann aber eigentlich unter ner Fertig Distri wie Redhat auch mit M-x shell ohne Escapesequencen???)
Wie gesagt, man kann dem Emacs das bestimmt lernen oder sowas. Aber eshell ist eine hübsche Shell mit ein paar eigenen Erweiterungen und ganz benutzbar für den Kleinkram. Mehrere GB Dateien zu kopieren legt dann allerdings den Emacs für die besagte Zeit lahm, darum macht man das normalerweise nicht.
Bei mir funktioniert shell übrigens korrekt, aber ich habe auch keine Farbtags oder so in meinem Prompt, nur "\u@\h:\w \$". M-x ansi-term könnte vielleicht auch noch interessant sein, hmm. Aber eigentlich kommt man mit eshell gut durch ...
-
Corcovado schrieb:
M-x eshell
Irgend wie lern ich jeden Monat ein weiteres cooles Detail am Emacs kennen. Ich werd wohl auch bald auf GNUS umspringen.
Wir könnten auch ein wenig Emacs Lisp austauschen, wenn wir schon dabei sind. Hier sind zwei skripte von mir
;; Compile Buffer: (setq compile-string-alist nil) (defun compile-buffer-string (cmd) (let ((compile-str (cdr (assoc (buffer-name) compile-string-alist)))) (unless compile-str (setq compile-str (concat cmd " " (buffer-file-name))) (setq compile-string-alist (append compile-string-alist (list (cons (buffer-name) compile-str))))) (setq compile-str (read-from-minibuffer "Compile: " compile-str)) (compile compile-str) (setcdr (assoc (buffer-name) compile-string-alist) compile-str))) (defun compile-buffer () (interactive) (if (file-exists-p "Makefile") (compile-buffer-string "make -k") (cond ((eq major-mode 'c++-mode) (compile-buffer-string "g++ -Wall -W -std=c++98 -g")) ((eq major-mode 'c-mode) (compile-buffer-string "gcc -Wall -W -std=c99 -g")) (t (compile-buffer-string "")))))
dient dazu die Kompilierfunktion ein wenig angenehmer zu machen, in dem man einfach den Compiler aufrufen kann, wenn keine Makefile existiert. Der string wird gespeichert. Mit
;; F9 -> compile-buffer (global-set-key '[f9] 'compile-buffer)
kann man das auf F9 setzen.
folgender Code ist ein Workarround, wenn man die Datei auf die ein Bufferzeigt umbenennen will.
;; Rename File (defun rename-buffer-file (new-filename) ;;file-name-directory (interactive "FRename to: ") (let ((filename (buffer-file-name))) (when (buffer-modified-p) (save-buffer)) (kill-buffer (buffer-name)) (rename-file filename new-filename) (switch-to-buffer (find-file new-filename))))
-
Daniel E. schrieb:
Dito. XEmacs<->Emacs ...
Du nutzt den XEmacs? Wieso, hat der irgend welche Vorteile oder liegt das an einer zufälligen Begebenheit?
-
Ich muss mir echt mal die Doku vorknuepfen...
Wo Ihr gerade anfangt den Thread auszuweiten, wie sieht das mit so schnickschnack aus wie Codeverfollstaendigung, gibt es sowas - kann man das mit Scripten etwa ergaenzen (ich hab KEINE Ahnung wie sowas eigentlich bei so Umgebungen laeuft - bitte nich schlagen, falls die Antwort offensichtlich ist)?
Wo muss man solche Scripten (wie obiges) eigentlich abspeichern?
Wo stellt man denn eigentlich die Farben, Tabulatorenweite etc ein, gibt es da nich ne config - oder kann ich mich dazu in den Menus mal umschauen?
-
Für Codecompletion und weitere IDE-Features solltest du dir Cedet angucken.
Tabs und Farben sollte in der Doku weiter erklärt werden. Hier kommt es einem eben zu gute, dass der Emacs eigentlich ein Lisp Interpreter mit einem Editor ist. Man kann da alles dran einstellen
-
OK - Danke, ich denke dass Codevervollstaendigung zwar durchaus praktisch ist, es jedoch auch ohne geht..
Mein momentanes Problem ist, dass ich in Java entwickeln soll, aber mir in der Arbeit aber nur ein Pentium 2, 450 MHz mit WinXP zur verfuegung gestellt wurde. Nachdem ich zwei Wochen lang alle zwei Tage das System neu installieren durfte und kein anderes Windows98 da war, hab ich nun seit gewisser Zeit eben ein Debian drauf, was seitdem der Kernel entsprechend kompiliert wurde, auch problemlos laeuft, jedoch merkt man bei so Umgebungen wie Eclipse schon, dass es vorne und hinten an Performance fehlt und da ich unter Emacs schon mal entwickelt hatte und damit sehr positive Erfahrungen gemacht hatte, wollte ich nun wieder auf Emacs umsteigen. Wie sieht dieser Performance/RAM Bedarf bei CEDET aus?
Ist es ueberhaupt auch fuer Java geeignet?Ist das ratsam fuer mich oder doch eher vergleichbar mit Eclipse (CEDET sieht mir sehr funktionell und abgespeckt aus, was ich sehr begruesse)?
Ist CEDET ein eigenstaendiges Projekt oder hab ich das richtig verstanden, dass es auf einem bereits vorhandenen Emacs aufbaut?
Wie sieht es aus mit Woerter ersetzen in einem File oder zB einem ganzen Projekt bei Emacs - gibts das irgendwo oder sollte man sich da ein Lisp Script schreiben (geht das?)?
Gibt es so Features wie "Getter/Setter einfuegen" oder koennte man sich soetwas zB auch in Lisp schreiben?
(Ist Lisp schwer? Kennt wer ein nicht allzu langes brauchbares Tutorial)?
-
Daniel E. schrieb:
bei mir hat auch schon (mouse-wheel-mode t) ausgereicht.
Dito. XEmacs<->Emacs ...
Hm, hab ich das jetzt falsch verstanden?
mouse-wheel-mode hat mein GNU-Emacs nämlich durchaus auch.Corcovado: Lies vielleicht mal Teile der Doku, ich habe das Gefühl, dass Du keine genaue Vorstellung davon hast, was Emacs normalerweise tut.
(Textersetzung zB ganz einfach mit replace-string.)
-
nman schrieb:
Daniel E. schrieb:
bei mir hat auch schon (mouse-wheel-mode t) ausgereicht.
Dito. XEmacs<->Emacs ...
Hm, hab ich das jetzt falsch verstanden?
Ich habe da einfach Unfug geschrieben. Bitte den Teil streichen.
-
Corcovado: Lies vielleicht mal Teile der Doku, ich habe das Gefühl, dass Du keine genaue Vorstellung davon hast, was Emacs normalerweise tut.
(Textersetzung zB ganz einfach mit replace-string.)Das glaube ich auch immer mehr!!! Allerdings hab ich es nicht geschafft die Doku von heute Vormittag auf Nachmittag durchzuackern - ich hoffe es wird mir nicht uebel genommen und ich werde nun die Doku richtig durchlesen und sinnigerweise dann auch erst meine weiteren Fragen stellen. Ich hab den Emacs vorher nur von Zeit zu Zeit als Editor benutzt, da brauchte ich keine grossen Funktionalitaeten.
Was den Thread anbelangt so habe ich meine Fragen (bis auf M-x shell, wobei ich nun aber eshell benutzen werde) beantwortet bekommen. - DANKE, ich denke Ihr habt mir jetz auch erst mal die Augen geoeffnet, was alles in dem Ding noch so drin steckt !!!