• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] emacs: Spalten bearbeiten (Tabellen)

xxxsemoi

Member
Hallo,
bei vim kann man in einer Datei die einzelnen Spalten bearbeiten (block-mode: löschen, kopieren,...), so als wäre es ein Tabellenprogramm (nicht ganz, aber fast so gut).
Das kann Emacs doch sicherlich auch -- nur wie?
Gruß Semoi.


LÖSUNG:
Ich habe es geschafft. Man macht das wie folgt:
1) Setzte Marke am Startpunkt (C-space)
2) makiere ganze ZEILEN bis dahin, wo man den BLOCK gerne
ausschneiden würde.
3) Jetzt "killt" man das Rechteck: C-x r k
4) Einfügen des Rechtecks an der gewünschten Stelle mit "yank": C-x r y

Ich hatte nur nicht verstanden, dass man zunächst die ganzen Zeilen makieren muss und anschließend das Rechteck definiert wird. Dies ist bei vim besser gelöst, aber sicherlich gibt es dazu eine Erweiterung um die Darstellung zu ändern.
 

scg

Hacker
Meinst du das "rectangle editing" ? Also so ne Art Block-mode zum Editieren ?

Dafür musst du eine region markieren:

Cursor in die linke obere Ecke der region, dann Ctrl-SPACE, dann Cursor EINS WEITER als die rechte untere Ecke und dann die Operation auf den Block. (z.B. kill-rectnagle oder was weiß ich)

Literaturtipp: O´Reilly, GNU Emacs (super, ist aber in English)
 
OP
xxxsemoi

xxxsemoi

Member
Hallo Hacker,
Danke für die Antwort, aber die hat mich nicht wirklich weitergebracht. Ich weiß, dass es beim Emacs ein Rechteck-Mode gibt, aber verstanden, was ich damit machen kann habe ich noch nicht. Mein Problem ist es das Rechteck richtig zu definieren.
Um ein konkretes Beispiel zu geben, was ich will:

TABELLE:
0.00 xxxxxx 1.4 xxxxxx 1.9
3.00 xxxxxx 7.2 xxxxxx 4.0
5.00 xxxxxx 9.2 xxxxxx 4.8
6.00 xxxxxx 8.0 xxxxxx 1.0
7.00 xxxxxx 7.2 xxxxxx 8.1
8.00 xxxxxx 5.6 xxxxxx 6.4
8.25 xxxxxx 1.4 xxxxxx 5.5
8.50 xxxxxx 1.2 xxxxxx 5.6

Die xxxx habe ich eingefügt, um die Spalten sichtbar zu machen.
Wie kann ich jetzt unter Emacs die 2. und 3. Spalte vertauschen? Ich weiß, dass vim das machen kann, der Emacs sollte das also auch können. Nur wie?
Gruß Jonas
 

TeXpert

Guru
ich handle normalerweise meine Tabellen ausserhalb von emacs, daher hab ich hier nur eine Alternatividee:


Region markieren, dann shell-command-on-region, als Script ein awk-1-Zeiler um die Spalten zu tauschen und dann den Region-Text ersetzen.
 
OP
xxxsemoi

xxxsemoi

Member
Warum ich vim nicht benutze?
Weil ich mich an so viele Tastenkombinationen im emacs gewöhnt habe und vim fast überhaupt nicht kann. Wenn ich im vim unabsichtlich auf eine Tastenkombi komme, weiß ich meistens nicht mehr wie ich da raus komme.

Ich war nur neugierig, ob einer das Packet oder die Tastenkombi kennt.

Trotzdem Danke für die vielen Antworten.
Gruß Semoi
 
Oben