.

Einrückungen bei Paste nach vi verhindern

Welcher vi-User kennt das nicht: Beim Einkopieren von Textteilen aus dem Zwischenspeicher in das Editorfenster werden jeder Zeile Tabulator-Zeichen vorangestellt, der eingefügte Text sieht aus, als hätte jemand kräftig den Monitor geschüttelt. Eine Menge Nacharbeit ist dann i.d.R. angesagt.

Doch es geht auch einfacher.

Bevor der im Zwischenspeicher gehaltene Text in die aktuell bearbeitete Datei eingefügt werden soll:

  • wechselt man mit ESC in den Kommando-Modus und
  • setzt “:set paste” als Kommando ab.
  • Drückt man nun wieder auf “i” um in den Einfügen-Modus zu wechseln, sollte in der Statuszeile die Angabe “- - INSERT (paste) - -” erscheinen, der dann aus dem Speicher eingefügte Text sollte ohne Tabs im Editorfenster auftauchen.

    Das Kommando “set nopaste” setzt das Verhalten wieder zurück.

    Das Ganze lässt sich auch noch einmal vereinfachen:

    Man öffne die Datei /etc/vim/vimrc.local und füge hier die Zeile:
    set pastetoggle=<F8>
    ein.

    Beim nächsten Aufruf von vi(m) reicht ein Betätigen der Taste F8 im Insertion-Modus, um zwischen den Paste-Modi zu wechseln.


    Tabpages in vim benutzen

    Man lernt ja nie aus: Seit Version 7 kann man in vim auch mit einer Art “Aktenreitersystem” arbeiten, das immer die gerade geöffneten Dateinamen am oberen Fensterrand anzeigt.

    So kann man vim schon direkt beim Aufruf mit mehreren Dateien in eigenen Tabs füttern:

    vim -p datei1 datei2 …

    Editiert man eine Datei, und möchte zwischendurch eine neue anlegen, ohne vim zu verlassen, lässt sich einfach über

    :tabnew

    ein neues “Fenster” öffnen.

    Mit

    :tabnew [Dateiname]

    öffnet sich der neue Tab direkt mit der übergebenen Datei.

    Mit

    :tabn

    und

    :tabp

    wechselt man zum nächsten bzw. vorhergehenden Tab, das Kommando “gt” im Normalmode bringt einen zum nächsten Tab, “2gt” sorgt dafür, dass man im zweiten Tab landet.

    Aber auch die gewohnten “Dateiwechselkommandos” arbeiten im “Tabsystem” wie gewohnt, “:n” bringt einen zur nächsten geöffneten Datei, “:previous” wieder zurück. Auch “:args” zeigt, wie bisher, die gerade geöffneten Dateien an.

    Möchte man einen Befehl auf alle Aktenreiter gleichzeitig absetzen, erreicht man das mit dem Kommando “:tabdo”. Um beispielsweise alle Aktenreiter gleichzeitig zu schließen, ohne die Änderungen zu speichern, benutzt man:

    :tabdo q!

    Eine kleine Einführung in die Benutzung von Tabs erhält man mit:

    :help tab-page-intro

    Kann man also eine Zeile von seinem Eingabefenster abzwacken (und liebgewonnene Kommando-Tippautomatismen kurzzeitig zuverlässig verdrängen ;) ), dann ist das Tabsystem recht komfortabel, fehlt der Platz in der Textkonsole, arbeitet man aber auch auf althergebrachte Weise ganz ordentlich.


    Minitip - Dos-Zeilenumbrüche mit VI ersetzen

    Wer unter Linux des Öfteren einmal mit unter Windows erstellten Textdateien arbeiten muss, kennt Dinge wie:
    zeile1^Mzeile2^Mzeile3
    Statt der gewünschten Zeilenumbrüche (LF) erscheint wiederholt der Platzhalter für den Windo(w)s-Zeilenumbruch (CR + LF).

    In vi lässt sich dies aber leicht beheben:
    %s/^M/\r/g

    Wichtig: Das Sonderzeichen “^M” muss eingegeben werden als: [strg]+V [strg]+M

    (Wer mehrere Dateien konvertieren muss, der kann sich die Sache auch mit dem Tool dos2unix vereinfachen - in Debian zu finden im Paket tofrodos)


    Kalender
    August 2008
    M D M D F S S
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
    Ereignisse
      • Keine Termine.
    Du befindest Dich in der Kategorie: 'vi(m)'.
    Kategorien
    Archiv
    Wichtiges!?

    .