[Howto] Texteditor "vi"

  • Hallo,


    ich möchte eine kleine Zusammenstellung der häufigst verwendeten Befehle für den Texteditor "vi" auflisten. Der Editor wird oft zur Bearbeitung von Konfig-Dateien etc. auf der Konsole genutzt.


    Hilfreiche Links:


    1. Sichern und Beenden

    • ZZ Sichern und vi beenden
    • :wq (write quit) Sichern und vi beenden
    • :q! vi ohne Sicherung beenden
    • :w Sichern
    • :w dat In Datei „dat“ schreiben


    2. Eingeben/Ändern im Eingabemodus

    • a (append) Rechts vom Cuursor einfügen
    • A (Append) Am Zeilenende anhängen
    • i (insert) Links vom Cursor einfügen
    • I (Insert) Am Zeilenanfang einfügen
    • o (open) In neuer Zeile danach einfügen
    • O (Open) In neuer Zeile davor einfügen
    • s (substitute) Cursorzeichen ersetzen
    • S (Substitute) Ganze Cursorzeile ersetzen
    • R (Replace) Überschreiben einschalten
    • cw (change word) nächstes Wort ersetzen
    • ncw (change word) nächsten n Worte ersetzen
    • cc (change) ganze Zeile ersetzen
    • C (Change) Rest der Zeile ersetzen


    3. Löschen, Kopieren und Verschieben

    • dw (delete word) nächstes Wort löschen
    • ndw (delete word) nächsten n Worte löschen
    • dd (delete) ganze aktuelle Zeile löschen
    • ndd nächsten n Zeilen löschen
    • d/was Text bis zum nächsten „was“ löschen
    • dG ab Cursor bis Dateiende alles löschen
    • D Zeilenrest löschen
    • x Zeichen an Cursorposition löschen
    • nx nächsten n Zeichen löschen
    • X Zeichen vor Cursor löschen
    • yy kopiert aktuelle Zeichen in allgemeinen Puffer
    • nyy kopiert nächsten n Zeilen in allgemeinen Puffer
    • y$ kopiert ab Cursor Zeilenrest in allgemeinen Puffer
    • >% Text bis korrespond. Klammer einrücken
    • „xyw kopiert nächstes Wort in Puffer x
    • „ayy kopiert aktuelle Zeile in Puffer a
    • „xnyy kopiert nächsten n Zeilen in Puffer x
    • „add löscht akt. Zeile und kopiert sie in Puffer a
    • „xndw n Worte löschen und in Puffer x kopieren
    • p (put) allgemeinen Puffer hinter Cursor kopieren
    • P (Put) allgemeinen Puffer vor Cursor kopieren
    • xp vertauscht zwei Zeichen
    • „xp Puffer x hinter Cursor kopieren
    • „xP Puffer x vor Cursor kopieren
    • :r dat Datei „dat“ hinter aktuelle Zeile kopieren


    4. Änderungen rückgängig

    • u (undo) macht die letzte Änderung rückgängig
    • U (Undo) Änderungen in akt.Zeile zurücknehemen
    • :e! alle Änderungen seit letztem Sichern wegwerfen
    • :q! vi ohne Sichern verlassen
  • Hallo Christian,


    das habe ich auch gesucht und leider nicht mehr gefunden ... ich konnte mich noch an das handgeschriebene gekrakel erinnern. Danke für den Link!



    gday
    Christian

  • Kleine Insider Tipps:


    * = wenn man ein Wort sucht, den * (Stern) einfach an der Stelle eingeben an der man steht und das nächste gleiche Wort wird gesucht
    / curser nach oben = Liste der letzen Befehle



    :mrgreen:

  • Der vi ist eigentlich mein lieblings Editor. :D
    Dennoch er ein paar seltsame "Macken". (Beim copy und paste, etc)
    Generell kann ich nur empfehlen, den vim (Vim Vi IMproved) also ein weiterentwickelter vi via ipkg zu installieren.
    Das ganze macht Ihr mit

    Code
    1. ipkg install vim


    Euer vorhandener vi ist dann praktisch geupdated worden. ;) Die Benutzung bleibt gleich, jedoch ohne diese seltsamen "Macken" :thumb:

  • Bewegungsbefehle:


    w,W, b, B Wortweise vorwärts bzw. rückwärts
    e, E = ans Wortende
    ), ( = An den Anfang des nächsten bzw. vorigen Satzes.
    }, { = An den Anfang des nächsten bzw. vorigen ABsatzes.
    ]], [[ = An den Anfang des nächsten bzw. vorherigen Abschnitts.


    Zeilen:
    L = Zur untersten Zeile des BILDSCHIRMS
    H = Zur obersten Zeile des BILDSCHIRMS
    M = Zur mittleren Zeile des BILDSCHIRMS
    nH = n Zeilen unter der obersten Zeile
    nL = n Zeilen über der untersten Zeile



    Ich hoffe das hilft auch weiter :-)

  • Hallo,


    habe ein Problem beim verlassen des VI! Wenn ich :q eingebe passiert nichts...Muss ich vorher in eine anderen Modus (via Tastenkombi) schalten???

  • Code
    1. :syntax on

    im Editor oder auch 'ne ~/.vimrc anlegen. Da käme dann

    Code
    1. syntax on

    rein. ;)


    Grüsse, David