1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Filebase
  4. Forum
  5. Zebradem-WIKI
  6. Foren-Regeln
  7. Spenden Liste
    1. Spenden
  • Anmelden
  • Registrieren
  • Suche
ZebraDem-Sponsoring
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Dateien
  • Forum
  • Erweiterte Suche
  1. Forum
  2. Computer Ecke
  3. Betriebssysteme
  4. Linux

FAQ: Der VI Editor

  • mandy28
  • 13. Juli 2011 um 16:02
  • mandy28
    Erleuchteter
    Reaktionen
    1
    Punkte
    88.996
    Beiträge
    16.178
    • 13. Juli 2011 um 16:02
    • #1

    [color="SandyBrown"]Der Editor vi [/color]

    Der vi ist der Standardeditor unter Linux und läßt sich sehr schnell bedienen, wenn man mit den grundlegenden Befehlen vertraut ist.
    Seine in Phyma/Mittelerde installierten "Ableger" sind der vim (vi-improved; Textoberfläche) und der gvim (graphical vim, graphische Oberfläche).

    Der vimtutor (einfach vom Terminal aus aufrufen) ist ein hilfreiches Einsteigerprogramm - vorausgesetzt man bringt ein bißchen Zeit mit.


    Aufrufen von vi
    Starten läßt sich der Editor mit dem Befehl vi, beziehungsweise vim oder gvim:
    vi [Dateiname]

    Code
    vi "zu_öffnende_datei"


    öffnet die Datei Dateiname zum Bearbeiten oder legt diese, sofern sie noch nicht existiert, neu an.


    Befehlsmodus, Eingabemodus und Kommandozeile
    Der vi hat drei verschiedene Modi:

    1) Der Befehlsmodus
    Im Befehlsmodus kann man den vorliegenden Text bearbeiten.
    Direkt nach dem Starten des vi befindet man sich in diesem Modus (man kann also nicht direkt Text eingeben!). Alle hier eingegebenen Zeichen werden als Befehle interpretiert und vom vi direkt ausgeführt. Will man nun Text eingeben, muß man in den Eingabemodus wechslen. Dies geschieht beispielsweise durch den Befehl

    Code
    i

    2) Der Eingabemodus
    Hier kann man direkt Text eingeben.
    Um den Eingabemodus zu verlassen, drückt man die Esc-Taste. Dadurch gelangt man in den Befehlsmodus.

    3) Die Kommandzeile
    Von der Kommandozeile aus kann man Dateien öffnen, speichern, usw. Außerdem muß man sich zum Verlassen des vi in diesem Modus befinden!
    In die Kommandozeile gelangt man vom Befehlsmodus aus, indem man einen Doppelpunkt : eingibt. Vom Eingabemodus aus also

    Code
    Esc :


    Verlassen des vi
    Um den vi zu verlassen, wechselt man in die Kommandozeile und gibt q ein.gegebenenfalls

    Code
    Esc :q


    Dateien laden, speichern und schließen
    :w Datei zwischendurch speichern
    :wq Datei abspeichern und vi verlassen
    :q vi verlassen, falls Datei abgespeichert wurde
    :q! vi ohne Abspeichern verlassen
    :r [Dateiname] fügt den Inhalt von [Dateiname] an der Cursorposition ein
    :e [Dateiname] Datei [Dateiname] laden, wenn die Datei nicht existiert wird eine erzeugt
    :next die nächste Datei laden, falls vi mit mehrern Dateien aufgerufen wurde
    : prev die vorherige Datei laden,, falls vi mit meheren Dateien aufgerufen wurde

    Text eingeben
    i (insert) Eingabe vor dem aktuellen Zeichen
    a (append) Eingabe nach dem aktuellen Zeichen
    I Eingabe am Anfang der aktuellen Zeile
    A Eingabe am Ende der aktuellen Zeile
    o neue Zeile erzeugen und nach der aktuellen Zeile einfügen
    O neue Zeile und vor der aktuellen Zeile einfügen

    Text bearbeiten
    Im Text kann man sich mit den Pfeiltasten oder alternativ mit den Tasten l, h, j, k nach links, rechts, unten und oben bewegen.

    w Cursor ein Wort vorwärts bewegen

    3w Cursor drei Worte vorwärts bewegen
    b Cursor ein Wort rückwärts bewegen


    $ mit dem Cursor zum Zeilenende springen
    0 mit dem Cursor zum Zeilenanfang springen
    G mit dem Cursor zur letzte Zeile springen
    9G mit dem Cursor zur Zeile 9 springen
    r [Zeichen] das Zeichen über dem Cursor mit [Zeichen] überschreiben
    cw [Zeichen, Wort,...] bis zur nächsten Wortgrenze ab Cursorposition überschreiben
    cc bis zur nächsten Zeilengrenze überschreiben
    dd aktuelle Zeile löschen
    4dd ab aktueller Zeile vier Zeilen löschen
    dw Wort löschen (ab Cursorposition)
    d$ oder D Löschen in aktueller Zeile von Cursorposition bis Zeilenende
    yy aktuelle Zeile in den Puffer (Zwischenspeicher) schreiben
    yw bis zum Ende des aktuellen Wortes in den Puffer schreiben
    y$ bis zum Ende der aktuellen Zeile in den Puffer schreiben
    7yy sieben Zeilen ab der aktuellen Zeile in Puffer schreiben
    p Pufferinhalt unter der aktuellen Zeile einfügen
    P Pufferinhalt über der aktuellen Zeile einfügen
    u letzten Befehl rückgängig machen (undo)
    ZZ Dateiinhalt abspeichern und vi verlassen


    Im Text suchen und ersetzen
    / [Zeichen, Wort,...] von der aktuellen Position an vorwärts nach [Zeichen, Wort,...] suchen
    ? [Zeichen, Wort,...] von der aktuellen Position an rückwärts nach [Zeichen, Wort,...] suchen
    n das letzte Suchkommando wiederholen
    N das letzte Suchkommando in die jeweils andere Richtung wiederholen
    f Zeichen sucht nach Zeichen in der aktuellen Zeile vorwärts
    F Zeichen sucht nach Zeichen in der aktuellen Zeile rückwärts
    :%s/Quelle/Ziel/ ersetzt Quelle im Text einmal durch Ziel
    :%s/Quelle/Ziel/g ersetzt Quelle im Text überall durch Ziel


    Beispiel:

    Der Befehl ":5,$s/\~/Hallo/g " ersetzt von der fünften bis zur letzten Zeile "~" durch das Wort "Hallo".

    Schrittweise Erklärung des Befehls:


    : in die Kommandozeile wechseln
    5,$ Der Befehl hat Auswirkung von Zeile 5 bis zur letzten Zeile. Ohne diese Angabe wirkt sich der Befehl nur in der aktuellen Zeile aus.
    s ersetzen (substitute)
    /\~/Tilde/ /alter Ausdruck/neuer Ausdruck/
    \~ bei Sonderzeichen wie z.B. "~" einen Backslash voranstellen
    g Auswirkung auf alle Vorkommen in der Zeile (global). Weglassen oder "1" bedeutet Auswirkung nur auf erstes Vorkommen.
    "2" bedeutet zweites Vorkommen usw.


    Optionen zum vi
    Man kann den vi auch mit verschiedenen Optionen starten:
    vi [-option] [Dateiname]


    -i startet vi gleich im Eingabemodus
    -R Datei read-only öffnen
    +zeilennummer springt direkt zur angegebenen Zeile
    +/[muster] Springt an die Stelle an der das erste mal [muster] auftaucht

    links
    http://home.teleos-web.de/mholtkamp/vimbook/1.html


    Im Anhang eine Kurzanleitung als pdf

    • Zitieren
  • Gast
    Gast
    • 19. Juli 2011 um 18:13
    • #2

    Wer sich eingearbeitet hat, der wird einige Sachen vermissen, z.b. das Syntax Highlighting. Für mich mittlerweile unabdingbar. Hier eine kleine Anleitung für ein paar mehr Features.

    Konsole

    Code
    vi ~/.vimrc

    "i" drücken für einfügemodus

    Syntaxhighlighting einschalten:

    Code
    syntax on

    Zeilennummerierung an:

    Code
    set number

    Während der Suche schon zum entsprechenden Text springen:

    Code
    set incsearch

    Suchergebnisse farbig markieren (mit :nohls verschwinden die Hervorhebungen wieder):

    Code
    set hlsearch

    Keine automatische Einrückung:

    Code
    set nosmartindent

    gewünschten Code ohne ":" vorn hineinschreiben und dann wie gewohnt mit "ESC"

    Code
    :wq

    beenden.

    edit: die Optionen lassen sich natürlich auch direkt im Vim aufrufen mit: "ESC"

    Code
    :[color=Yellow]optionsname[/color]

    Hilfe Vim ? Wiki ? ubuntuusers.de

    • Zitieren

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!

Benutzerkonto erstellen Anmelden

Spenden

Vielen Dank für die Unterstützung!
Hiermit unterstützt du Zebradem.
Das beinhaltet überwiegend die Serverkosten und Lizenzgebühren.
Spenden

Letzte Beiträge

  • Glance AI und Samsung: Umstrittenes neues Feature für Werbung

    heugabel 6. Juni 2025 um 17:27
  • Der Hackerparagraf §202a StGB: Eine doppelte Herausforderung für Forscher

    heugabel 6. Juni 2025 um 12:27
  • Musik TV ( IPTV)

    Fellfresse 5. Juni 2025 um 20:00
  • BGH-Urteil: Fingerabdruck schützt dein Smartphone nicht mehr

    heugabel 5. Juni 2025 um 16:27
  • Pluto TV

    Fellfresse 4. Juni 2025 um 19:43
  • BGH-Urteil: Neue Richtlinien zur Entsperrung von Handys durch Ermittler

    Katze Flohli 4. Juni 2025 um 12:09
  • Plex Live TV / LG Channels / Wedo TV

    Fellfresse 3. Juni 2025 um 18:48
  • Amazon Fire TV und die Schatten der Piraterie

    heugabel 3. Juni 2025 um 09:27
  • IPTV-Pirat steht vor Rekordstrafe – 25 bis 30 Jahre Haft

    Morbid Angel 3. Juni 2025 um 07:44
  • ALDI TALK Unlimited: Ein GitHub-Skript für echte Unbegrenztheit

    heugabel 3. Juni 2025 um 07:27

Aktivste Themen

  • The Highway to Freedom is now Open for Everyone!!

    29 Antworten
  • iOmega sftp

    24 Antworten
  • Wo sind die Linux User ???

    20 Antworten
  • Erste Beta von Ubuntu 10.04 steht zum Download bereit

    19 Antworten
  • php webseiten script ubuntu reboot

    18 Antworten
  • Welches Linux auf alten Laptop?

    11 Antworten
  • kennt sich jemand mit SABnzbd aus?

    10 Antworten
  • Keybord Error bei Fujitsu Siemens Futro C 100

    9 Antworten
  • Debian Homeserver Anleitung

    9 Antworten
  • Debian 5.0.5

    9 Antworten

Benutzer online in diesem Thema

  • 1 Besucher
  1. Kontakt
© 2024 Zebradem - Software by WoltLab