[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ weiter ]


Debian-Referenz
Kapitel 11 - Editoren


11.1 Populäre Editoren

Linux bietet viele Alternativen für Texteditoren in der Konsole, unter anderem:

Verwenden Sie update-alternatives --config editor, um den Standardeditor zu wechseln. Viele Programme nutzen auch die Umgebungsvariablen EDITOR oder VISUAL um zu entscheiden, welcher Editor genutzt wird. Vergleichen Sie Editor, Abschnitt 4.3.5.

Einige bemerkenswerte X-basierte Texteditoren:

Diese X-basierten Kommandos nutzen Standardoptionen wie -fn a24, was das Leben für ältere Leute wie mich einfacher macht :) Vergleiche X-Client Programme, Abschnitt 9.4.4.


11.2 Rettungseditoren

Es gibt einige Editoren die sich in /bin/ befinden. Einer von diesen sollte installiert sein, um das Editieren von Dateien zu vereinfachen, wenn auf /usr/ nicht zugegriffen werden kann.


11.3 Emacs und Vim


11.3.1 Vim Hinweise

Lesen Sie das "VIM - main help file"-Dokument durch Drücken von <F1> während das Programm läuft.

     <F1>           Hilfe
     <Esc>          Zurück zum normalen Modus
     V              Visueller Modus
     i              Eingabemodus
     :              Kommandozeilen Kommandos
     :set tw=72     Setzen der Textbreite auf 72
     <F11>          Eingabe- (Paste) Modus
     :r! date -R    Einfügen des Datums entsprechend RFC-822
     qa             Aufnahme der Tastenanschläge in Register a
     q              Beenden der Aufnahme
     @a             Ausführen der Tastenanschläge aus Register a
     :edit text.txt Editieren einer anderen Datei text.txt
     :wnext         Sichern der Datei und bearbeiten der nächsten

q und @ können für einfache Makroaufnahmen und zum Abspielen genutzt werden. Um beispielsweise ein Makro zu erzeugen, das HTML-Italic-Tags um das Wort unter dem Cursor einfügt, kann qii<i>^[ea</i>^[q (wobei ^[ die ESC-Taste ist) genutzt werden. Die Eingabe von @i beim Start eines Wortes fügt <i> und </i> ein.

Vergleichen Sie auch Benutzung von GnuPG mit Vim, Abschnitt 14.4.2.


11.3.2 Emacs-Hinweise

     <F1>                Hilfe
     <F10>               Menü
     C-u M-! date -R     Einfügen des Datums entsprechend RFC-822

11.3.3 Starten des Editors

     Starten des Editors:                   emacs Datei  vim Datei
     Starten mit vi-Kompatibilität:                      vim -C
     Starten ohne vi-Kompatibilität:                     vim -N
     Starten mit einkompilierten Standards: emacs -q     vim -N -u NONE

11.3.4 Zusammenfassung der Editorkommandos (Emacs, Vim)

     beenden:                        C-x C-c         :qa /:wq /:xa /:q!
     zurücksetzen/Kommandomodus:     C-g             <Esc>
     zurück (links):                 C-b             h
     vorwärts (rechts):              C-f             l
     nächstes (herunter):            C-n             j
     vorheriges (hoch):              C-p             k
     StArt der Zeile (^):            C-a             0
     Ende der Zeile ($):             C-e             $
     mehrere Kommandos:              C-u nnn cmd     nnn cmd
     mehrere Kommandos:              M-Ziffer cmd
     abspeichern:                    C-x C-s         :w Datei
     zum Anfang des Puffers:         M-<             1G
     zum Ende des Puffers:           M->             G
     eine Seite vorwärts scrollen:   C-v             ^F
     1/2 Seiten vorwärts scrollen:                   ^D
     eine Zeile vorwärts scrollen:                   ^E
     eine Seite rückwärts scrollen:  M-v             ^B
     1/2 Seiten rückwärts scrollen:                  ^U
     eine Zeile rückwärts scrollen:                  ^Y
     das andere Fenster scrollen:    M-C-v
     unter Cursor löschen:           C-d             x
     löschen bis zum Zeilenende:     C-k             D
     inkrementelle Suche vorwärtS:   C-s
     inkrementelle Suche Rückwärts:  C-r
     vorwärtS suchen:                C-s Enter       /
     Rückwärts suchen:               C-r Enter       ?
     inkr. Suche nach reg. Ausd.:    M-C-s
     inkr. Suche rückw. n. reg. Ausd.: M-C-r
     suche nach regulären Ausdruck:  M-C-s Enter     /
     suche rückw. nach reg. Ausd.:   M-C-r Enter     ?
     Hilfe:                          C-h C-h         :help
     Hilfe Apropos:                  C-h a
     Hilfe zu Tastenzuordnungen:     C-h b           :help [key]
     Info Seiten anzeigen:           C-h i
     Hilfe Hauptmodus:               C-h m
     Hilfe Tutorial:                 C-h t           :help howto
     rückgängig:                     C-_             u
     nochmals tun (redo):            C-f             ^R
     markiere die Cursorposition:    C-@             m{a-zA-Z}
     wechseln der Markierung und Pos.: C-x C-x
     springe zur Mark. in akt. Datei:                '{a-z}
     springe zur Mark. in jeder Datei:               '{A-Z}
     Bereich kopieren:               M-w             {visual}y
     Bereich entfernen:              C-w             {visual}d
     Bereich einfügen:               C-y             
     einfügen des gelöschten Textes: M-y             p
     in Großbuchstaben umwandeln:    C-x C-u         {visual}U
     in Kleinbuchstaben umwandeln:   C-x C-l         {visual}u
     einfügen spezieller Zeichen:    C-q octalnum/keystroke  
                                                     ^V decimal/keystroke
     ersetzen:                       M-x replace-string  :%s/aaa/bbb/g
     ersetzen regulärer Ausdrücke:   M-x replace-regexp  :%s/aaa/bbb/g
     vor Ersetzen nachfragen:        M-%                 :%s/aaa/bbb/gc
     vor Ersetzen nachfragen:        M-x query-replace
     vor Ersetzen reg. Aus. nachfragen: M-x query-replace-regexp
     Datei öffnen:                   C-x C-f         :r file
     Datei sichern:                  C-x C-s         :w
     alle Puffer speichern:          C-x s           :wa
     speichern unter:                C-x C-w file    :w file
     nach Puffer fragen:             C-x b
     Puffer anzeigen:                C-x C-b         :buffers
     Read-only Flag wechseln:        C-x C-q         :set ro
     nach Puffer fragen und löschen: C-x k
     vertikal aufteilen:             C-x 2           :split
     horizontal aufteilen:           C-x 3           :vsplit (ver. 6)
     in anderes Fenster wechseln:    C-x o           ^Wp
     entfernen dieses Fensters:      C-x 0           :q
     entfernen anderer Fenster:      C-x 1           ^Wo
     Shell im Hintergrund starten:   M-x compile
     Shell im Hintergrund killen:    M-x kill-compilation
     make starten:                                   :make Makefile
     Fehlermeldungen überprüfen:     C-x`            :echo errmsg
     Shell starten und aufzeichnen:  M-x shell       :!script -a tmp
     ...clean BS, ...                                :!col -b <tmp >record
     ...sichern/abrufen der Aufz.:   C-x C-w record  :r record
     Shell starten:                  M-! sh          :sh
     Kommando starten:               M-! Kmd         :!Kmd
     Kommando starten und einfügen:  C-u M-! Kmd     :r!Kmd
     Filter starten:                 M-| Datei       {visual}:w Datei
     Filter starten und einfügen:    C-u M-| Filter  {visual}:!Filter
     Option anzeigen:                                :se[t] {Option}?
     Option auf Standard zurücksetzen:               :se[t] {Option}&
     boolsche Option zurücksetzen:                   :se[t] no{Option}
     boolsche Option ändern:                         :se[t] inv{Option}
     Textumbruch bei Spalte 72:                      :se tw=72
     keinen Zeilenumbruch:                           :se tw=0
     automatische Einrückung:                        :se ai
     Tabulatoren expandieren:                        :se et
     Kommentar angeben (E-Mail):                     :se comments=n:>,n:\|
     
     GDB starten                     M-x gdb
     beschreibe den GDB-Mode         C-h m
     eine Zeile ausführen            M-s
     nächste Zeile                   M-n
     eine Anweisung ausführen (stepi) M-i
     aktuelle Funktion beenden       C-c C-f
     weiter                          M-c
     zur übergeordneten Funktion     M-u
     zur untergeordneten Funktion    M-d
     copy number from point, insert at the end
                                     C-x &
     setze einen Haltepunkt          C-x SPC

11.3.5 Vim-Konfiguration

Um alle Vim-Eigenschaften und Syntax-Highlighting zu nutzen, müssen die folgenden Zeilen in ~/.vimrc oder /etc/vimrc eingefügt werden:

     set nocompatible
     set nopaste
     set pastetoggle=<f11>
     syn on

Der Paste-Modus unterbindet Probleme mit der automatischen Einrückung bei Markieren-und-Einfügen-Operationen in konsolenbasierten Terminals. Dies bewirkt mehr als ein einfaches ":set noai".

Vergleichen Sie Benutzung von GnuPG mit Vim, Abschnitt 14.4.2 für die GnuPG-Integration.


11.3.6 Ctags

Starten Sie apt-get install exuberant-ctags und ctags auf den Quelldateien. Geben Sie :tag Funktionsname in Vim ein, um zur Zeile zu springen, wo Funktionsname beginnt. Die Tags funktionieren mit C, C++, Java, Python und vielen anderen Sprachen.

Emacs besitzt die gleichen ctags-Fähigkeiten.


11.3.7 Konvertierung eines mit Syntax-Highlighting versehenen Schirms in HTML

so \$VIMRUNTIME/syntax/2html.vim vom Vim-Kommandomodus konvertiert hervorgehobenen Text nach HTML. Sichern Sie dies mit :w Datei.html und :q. Dies ist nützlich für C-Code, etc.


11.3.8 Aufteilen des Bildschirms mit vim

vim kann mehrere Dateien in mehrfach aufgeteilten Bildschirmen editieren. Geben Sie :help usr_08.txt für Details ein.

Um die Bildschirmdarstellung für verschiedene Dateien aufzuteilen, ist am vi-Kommandoprompt Folgendes einzugeben:

     :split andere-Datei
     :vsplit andere-Datei

Beim Shell-Prompt führt

     $ vi -o Datei1.txt Datei2.txt   # horizontale Aufteilung
     $ vi -O Datei1.txt Datei2.txt   # vertikale Aufteilung

zu einem Mehr-Fenster-vi.

     $ vimdiff Datei.txt~ Datei.txt   # überprüfen der Änderungen von
     $ vimdiff Datei.en Datei.fr      #  Datei.txt bzw. der Übersetzung
     $ gvimdiff Datei.txt~ Datei.txt  # in X

ermöglicht einen schönen Blick auf die Unterschiede zwischen der ursprünglichen und der Backup-Datei. In SGML erkennt es Tags, so dass der Vergleich von Übersetzungen in diesem Modus sehr gut funktioniert.

Spezielle Cursor-Bewegungen mit Strg-W:

     Strg-W +      vergrößern des Fensters
     Strg-W -      verkleinern des Fensters
     Strg-W h      wechseln ins linke Fenster
     Strg-W j      wechseln in untere Fenster
     Strg-W k      wechseln ins obere Fenster
     Strg-W l      wechseln ins rechte Fenster
     ...

Nutzen Sie Folgendes zur Kontrolle (Synchronisation) des Bildschirm Scrollens:

     :set scrollbind
     :set noscrollbind

[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ weiter ]


Debian-Referenz

CVS, Don 18. Jan 2007, 11:52:59 UTC

Osamu Aoki osamu#at#debian.org
Übersetzer: Jens Seidel tux-master#at#web.de
Autoren, Abschnitt A.1