Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

ex (Texteditor)

aus Wikipedia, der freien Enzyklopädie

ex (/usr/bin/ex) ist einzeilenorientierter Editor und Bestandteil vonUnix- und unixartigen Systemen. Er gehört zu einer Familie von Editoren, zu denen interaktiv benutzbare (ed undvi), aber auch solche für den Batchbetrieb (sed) gehören und die voneinander abgeleitet sind.

ex ist in Funktionsumfang und Verhalten normiert durch denPOSIX-Standard.[1]

Geschichte

[Bearbeiten |Quelltext bearbeiten]

Der originaleex war eine erweiterte Version des – damaligen – Unix-Standardeditorsed, welcher seinerseits Teil derBerkeley Software Distribution (BSD) war. Die Weiterentwicklungex verbesserte im Vergleich zued vor allem die Benutzerfreundlichkeit, ohne allerdings das Grundkonzept des zeilenorientierten Editors anzutasten. Später nahmBill Joyex als Grundlage und entwickelte darauf – zuerst in Form eines Makro-Pakets, später als eigenständiges Programm – den Editorvi. Deshalb kann dervi auch mit einem Befehl in einenex-Modus geschaltet werden.

Benutzung

[Bearbeiten |Quelltext bearbeiten]

Konfiguration

[Bearbeiten |Quelltext bearbeiten]

Einstellungsmöglichkeiten unterscheiden sich von System zu System aufgrund leicht unterschiedlicher Implementierungen, wenn es auch einen immer vorhandenen, gemeinsamen Grundstock gibt. Alle aktuell gültigen Einstellungen können während der Session durch den Befehlset all angezeigt werden. Das folgende Beispiel zeigt dies wie auch den Programmaufruf selbst auf einem aktuellenAIX-System (oslevel 7100-04-02-1614). Die Hervorhebungen sind im Original nicht vorhanden und dienen lediglich der Verdeutlichung:

$ex .kshrc".kshrc" 129/2238:set allautoindent              mesg                            noshowmodeautoprint               nomodeline                      noslowopennoautowrite             nonumber                        tabstop=8nobeautify              nonovice                        taglength=0closepunct='".,;)]}     nooptimize                      tags=tags /usr/lib/tagsdirectory=/var/tmp      paragraphs=IPLPPPQPP LIpplpipbp backtagnoedcompatible          partialcharacter=-              term=xterm-r5noerrorbells            prompt                          terseexrc                    noreadonly                      timeoutnoflash                 redraw                          ttytype=xterm-r5hardtabs=8              remap                           warnhistory=0               report=5                        window=39noignorecase            scroll=19                       wrapscanlinelimit=1048560       sections=NHSHH HUuhsh+c         wrapmargin=0nolisp                  shell=/usr/bin/ksh              nowriteanynolist                  shiftwidth=5                    wraptype=wordmagic                   noshowmatch

Einstellungen sind entweder deklarativer Natur, wo einem Bezeichner ein Wert zugewiesen wird (siehe im Beispiel etwattytype) oder logisch. Bei logischen Einstellungen wird traditionell der Bezeichner mit einem vorangestelltenno aus- und ohne dieses Präfix eingeschaltet (siehe etwanonumber, der Befehlset number schaltet die Ausgabe von Zeilennummern ein,set nonumber stellt dieses Verhalten ab).

Die Anweisungen zum Einstellen vonex werden beim Start des Programms aus Dateien entnommen. Systemweite Einstellungen stehen in/etc/exrc. Benutzerbezogene Einstellungen stehen in$HOME/.exrc. Ist die Optionexrc gesetzt, wird die Datei./.exrc ausgewertet.

Einstellungen werden auch aus derUmgebungsvariableEXINIT übernommen.

Oft wird die Funktionalität vonex durch andere Programme zur Verfügung gestellt, z. B. vonvim. Dann ändern sich die Dateinamen für die Einstellungen oder es werden zusätzliche Dateien ausgewertet (z. B./etc/vim/vimrc,$HOME/.vimrc,./.vimrc).

Interaktive und nicht interaktive Verwendung

[Bearbeiten |Quelltext bearbeiten]

Auch wennex für die interaktive Benutzung gedacht war, ist es doch möglich, dem Programm eine Liste von Befehlen überstdin (entweder alsPipeline oder alsHere-Document) zur automatisierten Abarbeitung zu übergeben. Dies macht es möglich, den Editor ähnlich wiesed für automatisierte Änderungen einzusetzen.

Im folgenden Script-Beispiel wird in allen Dateien in/some/where, deren Name auftxt endet, in solchen non-interaktiven Editorsessions geändert (und zwar jedes Auftreten von "abc" in den ersten drei Zeilen in "XYZ"). Man beachte, dass, im Unterschied zused, die geänderte Datei nicht erst in eine temporäre Zwischendatei gespeichert und anschließend über das Original kopiert zu werden braucht:

#!/bin/kshtypeset chSrc="abc"typeset chRpl="XYZ"typeset fTgt=""for fTgt in /some/where/*txt ; do     ex - "$fTgt" <<-EOF        1,3 s/$chSrc/$chRpl/g        w     EOFdone

Besonderheiten

[Bearbeiten |Quelltext bearbeiten]

Auf einigenHP-UX-Systemen kannex auch durch den Befehle (das ist dann einHardlink aufex) aufgerufen werden.

Weblinks

[Bearbeiten |Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. ex-Spezifikation der Open Group. Abgerufen am 7. September 2016 (englisch). 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Ex_(Texteditor)&oldid=217207358
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp