Ihre Suche nach: vim tabs

Du kommst von www.google.de und suchst nach vim tabs. Folgende Beiträge könnten Dich auch interessieren:

Nicht gefunden was Du gesucht hast? Dann kannst Du hier mit Google das Web durchsuchen:

Hauptseite

Vim – Buffer statt Tabs benutzen

18. Juli 2009 von zimon

Das Buffer-Konzept von Vim ist ein wenig gewöhnungsbedürftig. Unter vim wird jede Datei in einem Buffer geöffnet. Man kann auch mehrere Dateien in verschiedenen Buffern öffnen und zwischen diesen Buffern hin- und herschalten. Die einzelnen geöffneten Buffer müssen dabei nicht sichtbar sein.

Das Problem bei Tabs ist, dass wenn man z.B. Dateiübergreifende Markierungen nutzt der Sprung in eine andere Datei den entsprechenden Buffer im aktuellen Tab geöffnet wird. Selbst wenn die Datei in einem anderen Tab bereits geöffnet ist wird nicht zum Tab gesprungen. Wenn man hingegen nur mit Buffern statt Tabs arbeitet ist dieses Verhalten gewünscht.
Auch bei Splitscreens werden die Dateien in verschiedenen Buffern geladen.

Einen neuen Buffer öffnet man mit :n <DATEINAME>. Um den Buffer zu wechseln kann man entweder :bn (Buffer Next) und :bp (Buffer Previous) oder :b<NUMMER> nutzen, wobei NUMMER die Nummer des Buffers angibt. [UPDATE]Mit :b# (alternativ Strg+^) welchselt man zum zuletzt editierten Buffer. [/UPDATE] Alle geöffneten Buffer kann man sich mit :ls anzeigen lassen.

Etwas gewöhnungsbedürftig ist, dass man einen Buffer nur dann wechseln kann, wenn der aktuelle Buffer keine Änderungen enthält. Man muss also immer speichern, bevor man den Buffer wechseln kann. Um diese Restriktion zu umgehen kann man die entsprechenden Kommandos mit Ausrufezeichen verwenden. z.B. :bn!.[UPDATE]Statt dessen kann man auch die Option set hidden setzen (z.B. indem man dieses als eine Zeile in die ~/.vimrc schreibt). (Danke an b23 für den Tipp.)[/UPDATE]
Auch das ein Buffer nicht automatisch durch ein :q geschlossen wird ist ungewohnt. Dafür nutzt man den Befehl :bd (Buffer Delete).

Da das Konzept der Tabs recht praktisch ist und man auch mit Buffern oft eine permanente Übersicht über die offenen Dateien haben möchte gibt es das Plugin MiniBufExplorer. Dieses Plugin zeigt in einem einzeiligen horizontalen Splitscreen alle geöffneten Buffer an. Das Plugin bietet auch einige Funktionen an um die Buffer zu wechseln, doch ich empfinde es als einfacher, sich eigene Mappings zu definieren.

[UPTDATE]Ein weiteres praktisches Plugin ist bufexplorer, welches keinen Splitscreen öffnet. Statt dessen kann man sich die Buffer mit \be anzeigen lassen und einen aussuchen (mit \bs werden die Buffer in einem Splitscreen angezeigt, mit \bv in einem vertikalen splitscreen). Wenn man (ohne dass die Option hidden gesetzt ist) von einem ungespeicherten Buffer wechseln möchte, so wird automatisch ein Splittscreen geöffnet (bei \bv ein Vertikaler) in dem der Buffer angezeigt wird, zu dem gewechselt wurde. (Danke an b23 für den Hinweis)[/UPDATE]

Wenn man (wie ich) daran gewohnt ist, die Tabs mit Strg+n durchzugehen, ist es ganz praktisch, die selbe Tastenkombination zum wechseln der Buffer zu verwenden. Dafür fügt man folgende Zeile in die ~/.vimrc ein oder ändert die entsprechende Zeile, wenn man Strg+n schon für Tabs definiert hat:

map <C-n> :bn!<CR>

Alles in allem haben beide Systeme ihre Vor- und Nachteile. Tabs sind intuitiver und man braucht kein Plugin um sie anzuzeigen. Bei Buffern hat man mit dem MiniBufExplorer-Plugin immer einen horizontalen Splitscreen geöffnet, der manchmal störend sein kann. Dafür sieht man bei Buffern genau, welche Dateien geöffnet sind. Wenn man nur mit Tabs arbeitet sind nach einiger Zeit viele Dateien in Buffern geöffnet ohne das man davon weiß. Es gibt auch einige Plugins, die sich mit Buffern besser nutzen lassen als mit Tabs.

Ich denke man sollte mit beiden Systemen vertraut sein und das jeweils geeignetere nutzen je nachdem, was man vor hat.
Wenn man z.B. standardmäßig mit Tabs arbeitet, kann man in einem geöffneten Splitscreen mit Bufferkommandos zwischen den Dateien wechseln.


Schlagworte: , ,



3 Kommentare zu „Vim – Buffer statt Tabs benutzen“

  1. b23 sagt:

    Danke fuer dein posting!

    Wenn du ein “set hidden” in deine vimrc machst, dann sollte man auch, bei ungespeicherten Dokumenten normal zwischen den Buffern wechseln können.

    Rückwärts blättern mit “:bp” finde ich noch recht hilfreich.

    Ich selber verwende bufexplorer.vim, weil mir MiniBufExplorer ab mehr als 5 offene Dateien zu unleserlich ist und ich auch oft unabsichtlich beim splitscreen wechseln in den MiniBuffExplorer screen reinspringe.
    Das Plugin bufexplorer zeigt nur eine Liste der offenen Dateien an, wenn man diese braucht. Gibt auch ein paar Sortiermöglichkeiten der Darstellung.

    und wozu braucht man diese tabs in vim? ;)

  2. zimon sagt:

    Hallo b23,

    vielen Dank für Deine Hinweise. Die Option set hidden ist wirklich praktisch. Das Plugin bufexplorer ist auch recht interessant. Was ich daran echt cool finde ist, dass wenn man bei einer geänderten Datei den Buffer wechselt (ohne die Option set hidden) automatisch ein Splitscreen geöffnet wird.

    Beim MiniBufExplorer Plugin sieht man die Buffer aber an der oberen Leiste und hat so die Dateien immer im Blick . Dies ist auch manchmal praktisch um mit :bx (mit x = Nummer des Buffers) den Buffer zu wechseln. Das dies jedoch ein eigener Splitscreen ist finde ich auch ungünstig.

    Ich habe jetzt noch etwas rumgesucht und es gibt noch das Plugin buftabs, was genau macht, was ich suche: die Buffer in der Komandozeile anzeigen. Leider werden sie nur angezeigt, wenn man einen Buffer wechselt oder eine neue Datei öffnet. Somit bringt es mir nichts, wenn ich zum Wechseln die Nummer des Buffers brauche. Vielleicht kann man das Plugin ja anpassen (schau ich mir vielleicht irgendwann mal an).

    Interessant ist auch das Plugin winmanager, was zwar auch wieder einen Splitscreen nutzt, dort aber auch die Dateien des aktuellen Verzeichnisses anzeigt.

    Ich werde den Artikel mal aktualisieren.

    Viele Grüße,
    zimon

  3. euroduplication@pressen lassen sagt:

    sehr gute Darstellung – Das Buffer-Konzept kannte ich noch nicht. Danke aus Pressungen

Kommentieren

Kommentarlinks könnten nofollow frei sein.


Bloggeramt.de frisch gebloggt Blogverzeichnis - Blog Verzeichnis bloggerei.de