Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Der Editor, an dem man unter Linux irgendwie nicht vorbei kommt.
Warum Emacs? Effective Emacs Darum!
Dateikommandos | |
Emacs Verlassen | C-x C-c |
File laden | C-x C-f |
File speichern | C-x C-s |
File speichern unter | C-x C-w |
Blockoperationen | |
Markierung starten | C-space |
Copy | M-w |
Cut | C-w |
Paste | C-y |
Windows und Buffer | |
Windows wechseln | C-x o |
akt. Window vergrößern | C-x 1 |
akt. Window schließen | C-x 0 |
einen weiteren Buffer sichtbar machen (vertikal trennen) | C-x 2 |
einen weiteren Buffer sichtbar machen (horizontal trennen) | C-x 3 |
Buffer wechseln | C-x b [Buffername] |
Sonstiges | |
Suchen inkrementell | C-s |
Undo | C-_ |
Goto Zeile | C-n |
Kompilieren | F9 |
Nach Kompilierung zu Fehler springen | F8 |
...to be continued...
viele weitere Informationen zu emacs gibt es im Emacs Wiki
Ich Lars hatte bis eben statt normaler Fontansicht im emacs nur Klötzchen gesehen. Ich habe viele Dinge im Gentoo-Forum gelesen, aber nichts half. Jetzt habe ich mal alle (set-default-font "...")
aus meiner .emacs entfernt und voila, geht wieder. Stirn-abwisch
Wenn einem der aktuelle Font nicht passt, mit xfontsel
einen neuen suchen und in die .emacs kopieren, ein (set-default-font "
davor und ein ")
dahinter, emacs neu starten und der neue Font ist zu sehen.
.emacs
Emacs ist in der Lage sehr viele Dateien anhand der Dateiextension zu erkennen und dann gewisse Darstellung wie besondere Farbe für Source Code einzustellen oder Einrückungen automatisch vorzunehmen. So sind cpp, cc, c++ Extensions als C++ Source Code zu verstehen und der Emacs stellt den cpp-mode ein.
Die meisten /etc
Konfigurationsdateien haben aber keine Endungen, trotzdem wäre es nett, wenn diese Dateien als z.B. Shell-Skripts erkannt werden, dann sind Kommentare in einer anderen Farbe gekennzeichnet. Dazu öffnet man die .emacs
Datei, sucht dort nach auto-mode-alist
und fügt dort als erstes die Zeile mit dem "^/etc" ...
ein, sollte auto-mode-alist
nicht vorhanden sein, gleich den ganzen Block.
(setq auto-mode-alist (append '( ("^/etc" . shell-script-mode) )))
Jetzt werden sämtliche Dateien aus /etc
als Shell Skripte interpretiert.
Es gibt auch die Möglichkeit, dem Emacs in einer Datei zu sagen, welcher Art eine Datei ist, dazu schreibt man als Kommentar in die erste Zeile ein -*- mode -*-
wobei mode
dann shell-script, cpp-mode, ... ist. Beim Öffnen wird die erste Zeile vom Emacs interpretiert und versucht den mode zwischen -*-
zu interpretieren.
Ausnahme: Eine Datei begingt mit einem Shebang #!/executable
dann wird versucht den mode aus der zweiten Zeile zu interpretieren.
Man kann dem Emacs beibringen sich auf verschiedene Dateien richtig einzustellen, dazu braucht man in einer solchen Datei am Ende nur folgendes einzufügen:
// The following sets variables for GNU EMACS // Local Variables: // tab-width:4 // End:
Hier wird die tab-width Variable auf 4 gesetzt, default ist der tab-width im Emacs nämlich 8.
Mal davon abgesehen, das Tabs in Source Dateien absolut nichts verloren haben, da jeder Editor diese anders interpretiert und damit das Resultat immer nur Falsch sein kann.
Es gibt leider keine Standards für solche Erweiterungen.
Der Emacs versteht (fast) jedes Lineending richtig, aber manchmal möchte man dieses ändern, da werden dann Tools wie recode
herangezogen, dabei kann das der Emacs auch von sich aus.
M-x set-buffer-file-coding-system RET unix
Schon hat die aktuelle Datei das Ending von Unix. Man braucht die Datei nur noch abzuspeichern.
Wer kennt das nicht, da arbeitet man mit Listen und will jetzt mal eben schnell alle Zeilen entfernen, die doppelt vorkommen. Eigentlich keine große Sache
# sort file | uniq
Doch dazu muss die Datei erst abgespeichert und danach wieder geladen werden.
Damit geht es dann direkt im Editor.