Hallo!
Ich habe bisher keine Übersicht gefunden, die die wichtigsten Befehle des Emacs und Vi gegenüberstellt. Darum habe ich das vor längerem angefangen und gerade erweitert. Da ich selbst Emacs nutze wäre es gut wenn Vi Benutzer sich die Zusammenfassung mal durchlesen:
http://www.thomas-guettler.de/vortraege/emacs/einfuehrung-created.html
Gruß, Thomas
Hi Thomas,
On Sun, May 04, 2003 at 01:13:44 +0200, Thomas Guettler wrote:
Ich habe bisher keine Übersicht gefunden, die die wichtigsten Befehle des Emacs und Vi gegenüberstellt. Darum habe ich das vor längerem angefangen und gerade erweitert. Da ich selbst Emacs nutze wäre es gut wenn Vi Benutzer sich die Zusammenfassung mal durchlesen:
http://www.thomas-guettler.de/vortraege/emacs/einfuehrung-created.html
Diese Gegenueberstellung kann nur hinken, weil vi nun mal ein modaler Editor ist, emacs nicht. So kommt es dann auch zu Tastenhinweisen wie "ESC $" fuers Springen zum Zeilenende. Dabei ist ESC nicht Bestandteil des Positionierungskommandos, sondern muss nur dann vorangestellt werden, wenn vi nicht im Command Mode ist.
Was mir sonst noch auffiel:
Mit ^ springt der Cursor an den Anfang des ersten Wortes in der Zeile, das muss aber nicht der Zeilenanfang sein:
erster zweiter ^ hier wird hingesprungen
Den wirklichen Zeilenanfang (Spalte 1) springst Du mit 0 (Null) an.
Abbrechen des aktuellen Befehls geht beim vi mit ESC.
Eine Datei wird mit :e dateiname geoeffnet.
Korrekt: D loescht bis zum Zeilenende (eigentlich ein Shortcut fuer d$), nimmt aber den Zeilenumbruch nicht mit. Soll die komplette Zeile geloescht werden, muss man dd verwenden. Will man _nur_ den Zeilenumbruch entfernen, muss man J verwenden.
p fuegt grundsaetzlich den Inhalt des Yank/Cut-Buffers ein, also nicht nur, was mit D geloescht wurde.
Einfache Makros lassen sich mit den Befehlen :map (fuer Command Mode) und :map! (fuer Insert Mode) definieren:
z.B.: Shortcut g fuer 1G:
:map g 1G
Multiwindow-Features haben nur vim, elvis, ..., ein echter vi kennt sowas nicht.
Springen zur passenden oeffnenden/schliessenden Klammer geht mit %.
Interaktives Ersetzen geht mit
:s/foo/bar/c
bzw.
:s/foo/bar/gc
falls mehrere Fundstellen innerhalb der Zeile existieren. bzw.
:%s/foo/bar/gc
falls das komplette Dokment betrachtet werden soll.
Den aktuellen Absatz mit externem fmt-Befehl formatieren:
!}fmt
bye, Chris
On Sun, May 04, 2003 at 08:11:49PM +0200, Christian Perle wrote:
Hi Thomas,
On Sun, May 04, 2003 at 01:13:44 +0200, Thomas Guettler wrote:
Ich habe bisher keine Übersicht gefunden, die die wichtigsten Befehle des Emacs und Vi gegenüberstellt. Darum habe ich das vor längerem angefangen und gerade erweitert. Da ich selbst Emacs nutze wäre es gut wenn Vi Benutzer sich die Zusammenfassung mal durchlesen:
http://www.thomas-guettler.de/vortraege/emacs/einfuehrung-created.html
Diese Gegenueberstellung kann nur hinken, weil vi nun mal ein modaler Editor ist, emacs nicht.
Das ist klar. Da der Emacs nicht immer verfügbar ist, wollte ich für mich (und ggf. andere) die wichtigsten Befehle gegenüberstellen.
Danke für die Hinweise!
Gruß, Thomas
On 05/04/03 20:11, Christian Perle wrote:
Interaktives Ersetzen geht mit
:s/foo/bar/c
bzw.
:s/foo/bar/gc
falls mehrere Fundstellen innerhalb der Zeile existieren. bzw.
:%s/foo/bar/gc
falls das komplette Dokment betrachtet werden soll.
Die genaue Entsprechung zu "M-x query-replace" wäre wohl:
:,$s/foo/bar/gc
beginne an Cursorposition mit interaktivem Ersetzen bis zum Ende der Datei.
Ist das zu spitzfindig?
Hi Christian,
On Mon, May 05, 2003 at 13:34:25 +0200, Christian Helmuth wrote:
Die genaue Entsprechung zu "M-x query-replace" wäre wohl:
:,$s/foo/bar/gc
beginne an Cursorposition mit interaktivem Ersetzen bis zum Ende der Datei.
Ist das zu spitzfindig?
Noe :) Da ich aber keinen emacs benutze, wusste ich nicht, dass "M-x query-replace" ab der Cursorposition sucht.
bye, Chris
lug-dd@mailman.schlittermann.de