Linux bietet viele Alternativen für Texteditoren in der Konsole, unter anderen:
vim
: Mächtiger und kleiner Editor aus der BSD Welt. VI iMproved.
emacs
: Ultimativer und leistungsfähiger Editor aus der GNU Welt
von RMS (Richard M. Stallman).
xemacs
: Emacs: Die nächste Generation, ursprünglich von Lucid.
mcedit
: GNU Editor für Anfänger. Identisch zu mc
's
internen Editor. Vergleiche Editor,
Abschnitt 4.3.5.
ae
: Kleiner Standardeditor (Potato). Nicht verwenden.
nano
: Kleiner GNU Standardeditor (Woody). Emuliert
pico
.
joe
: Für altes WordStar oder TurboPascal Feeling.
jed
: Schneller, reichhaltiger menübasierter Editor mit Emacs
Tastenzuordnungen.
jove
: Sehr kleiner Editor mit Emacs Tastenzuordnungen.
nvi
: Neuer vi. Fehler-für-Fehler kompatibel mit dem
ursprünglichen vi.
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:
gvim
: Vim mit GUI (graphische Benutzerschnittstelle)
(vim
und vim-gtk
Paket)
emacs
: Der eine wahre Emacs (automatische X Erkennung).
xemacs
: Emacs der nächsten Generation (automatische X Erkennung).
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.
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.
elvis-tiny
: Minimaler vi Editor (vi
zum Starten)
nano-tiny
: Minimaler nicht-vi Editor (nano-tiny
zum
Starten)
ed
: Minimaler Editor (immer vorhanden, aber schwierig zu benutzen)
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.
<F1> Hilfe <F10> Menü C-u M-! date -R Einfügen des Datums entsprechend RFC-822
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
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
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.
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.
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.
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
Debian-Referenz
1.06-16, Sam 3. Jan 2004, 21:37:21 UTCosamu@debian.org
tux-master@web.de