2010-07-21 5 views
11

Ich bin gerade dabei, Vim zu lernen, und ich habe gerade etwas über Noten gelernt. Zuvor fand ich es nützlich, alle Quellcode-Dateien, an denen ich arbeite, in eigenen Tabs zu haben. Als ich von "globalen" (Großbuchstaben) Markierungen erfuhr, dachte ich, dass es eine gute Möglichkeit wäre, zu einem Tab zu wechseln, auf dem die markierte Datei bereits geöffnet ist, und blättern Sie schnell zur richtigen Stelle. Allerdings habe ich festgestellt, dass der Sprung zu einer Marke in einer anderen Datei einfach die Datei ändert, die die aktuelle Registerkarte anzeigt, und das vermasselt meine Tabs Setup. Gibt es eine Möglichkeit, die Marken mit den Tabs so zu gestalten, wie ich es möchte?Vim: Können globale Marken die Tabs anstelle der Datei im aktuellen Tab wechseln?

+0

Scheint so, als ob es nicht so funktionieren soll. Ich könnte auch nur Puffer verwenden, denke ich. – Eskil

+1

Siehe [this] (http://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers) Frage und Antwort, hoffentlich werden sie diese Frage verschwinden lassen :) –

Antwort

3

Das Problem ist, dass die Mark-Jumping-Befehle entworfen sind, um auf die Markierung innerhalb des aktuellen Fensters zu verschieben. Sie müssen zu einem neuen Fenster wechseln zuerst mit :sbuf oder :tabnext oder CTRL + WW. Wenn Sie switchbuf=useopen,usetab eingestellt haben, reicht die Verwendung von :sbuf <otherfile> zuerst aus, um zu der anderen Registerkarte zu springen, auf der Ihre Datei geöffnet ist. Aber 'A wird kein neues Fenster für Sie erstellen (oder ein vorhandenes auf einer anderen Registerkarte wiederverwenden).

Sie können sich wahrscheinlich eine Zuordnung für ' erstellen und `` which uses getpos() , setpos() ,: sbuf , and switchbuf` in einem anderen Tab zu einem vorhandenen Fenster zu springen, aber es würde eine Seite von vimscript zu schreiben.

Siehe :help switchbuf und :help getpos() und :help setpos().

1

Tabs sind möglicherweise nicht der beste Weg, um das zu tun, was Sie versuchen zu tun. Wenn eine Datei geöffnet ist, ist sie nicht unbedingt in nur einer Registerkarte geöffnet. Es ist in einem Puffer geöffnet, was ein Konzept ist, das nicht an eine Registerkarte gebunden ist.

In der Tat können Sie den gleichen Puffer in mehreren Registerkarten öffnen (oder sogar mehrere Fenster innerhalb derselben Registerkarte). Eine Registerkarte ist mehr wie ein Fenster in einen oder mehrere Ihrer derzeit geöffneten Puffer.

Es ist möglicherweise besser zu erfahren, wie Sie zwischen den Puffern in Ihrem aktuellen Tab oder Fenster wechseln können. Nur ein Vorschlag.

Verwandte Themen