Früher habe ich eine Kombination aus Registerkarten und mehreren gvim-Instanzen verwendet, wobei Gruppen verwandter Dateien in jeder Instanz als Registerkarten verwendet wurden. Solange ich nicht zu viele Registerkarten in einer Instanz hatte, zeigt Ihnen die Registerkartenleiste auf einen Blick den Namen jeder Datei, die Sie bearbeiten.
Dann las ich einen Beitrag von Jamis Buck darüber, wie er von TextMate zurück zu vim wechselte , und lernte einige großartige Tricks:
- Strg-w s und Strg-w v, um das aktuelle Fenster zu teilen
- Strg-6, um zwischen zwei Puffern im selben Fenster hin und her zu wechseln.
- Die fantastische Datei fuzzyfinder.vim ermöglicht die automatische Vervollständigung der Suche nach Dateien in Ihrem aktuellen Verzeichnis oder nach Puffern, die Sie derzeit geöffnet haben
- Jamis 'eigener fuzzy_file_finder und fuzzyfinder_textmate , die die Funktionsweise von fuzzyfinder geringfügig ändern, um sich eher wie eine ähnliche Funktion in TextMate zu verhalten (soweit ich das beurteilen kann, besteht der Unterschied darin, dass sie irgendwo im Dateinamen übereinstimmt und nicht nur von Anfang an). Sehen Sie sich dieses Video an, um es in Aktion zu sehen.
Jetzt habe ich nur noch eine gvim-Instanz, die maximiert und in mehrere Fenster aufgeteilt wurde, damit ich mehrere Dateien gleichzeitig sehen kann. Ich habe Strg-F an fuzzyfinder_textmate gebunden. Wenn ich jetzt Strg-F eingebe (sagen wir) mod/usob
, wird app / models / user_observer.rb geöffnet. Ich beschäftige mich fast nie mehr mit Tabs.
Update 07.08.2010
Während fuzzyfinder_textmate fantastisch bleibt, wie Casey in den Kommentaren betont, wird es nicht mehr beibehalten. Außerdem wird es (und / oder fuzzyfinder.vim) bei der Arbeit mit großen Projekten (viele Verzeichnisse oder Dateien) etwas langsam und instabil, daher habe ich nach einer Alternative gesucht.
Glücklicherweise scheint es in der Form eine sehr schöne Alternative zu sein Wincent Colaiuta ‚s Befehl-T - Plugin . Dies hat ein sehr ähnliches (wenn auch nicht etwas besseres) Verhalten wie fuzzyfinder_textmate, ist jedoch spürbar schneller. Es hat auch nette Funktionen wie die Möglichkeit, die gefundene Datei in einem geteilten oder vertikalen Split zu öffnen. Vielen Dank (und positive Stimmen!) An David Rivers für den Hinweis.
Ich benutze die Grundlagen - '
:ls
' + ':bn
' / ':bp
' + ':b <part-of-name>
'quelle
:map <c-n> :bn<cr>
und:map <c-p> :bp<cr>
, daC-n
undC-p
sind schnell zu tippen und ermöglichen das Wechseln zwischen Puffern, wenn Sie sie wiederholt drücken. (Ich habe sie nie für ihren ursprünglichen Zweck.) Es ist wie zwischen Browser - Tabs Radfahren mitC-PgUp
undC-PgDn
oder was auch immer Ihr Browser Verknüpfung hat.[b
für den vorherigen Puffer und]b
für den nächsten Puffer. Plus viele andere Leckereien, die das Konzept des]
nächsten und[
des vorherigen verwenden.Ich mag "ctrl-w s" und "ctlr-w v", um das Fenster zu teilen. Dann ordne ich die Bewegungstasten (h, j, k, l) mit gedrückter Strg-Taste zu, um zwischen den geteilten Fenstern zu wechseln:
Es ist ärgerlich, meine Hand zu den Pfeiltasten bewegen zu müssen.
Als nächstes habe ich ctlr-tab eingerichtet, um zwischen Puffern im aktuellen Fenster zu wechseln (wie in vielen anderen Umgebungen):
Diese haben in den letzten Jahren ziemlich gut für mich funktioniert, obwohl vim immer mehr Geheimnisse hat, als Sie wissen können.
quelle
:bp
und <SK> auf:bn
und niemand erwähnte das nette Plugin ctrlp.vim . Mit diesem Plugin können Sie den Puffer nach Namen durchsuchen.
quelle
ich benutze
CTRL- Jfür den nächsten Puffer
CTRL- Kfür vorherigen Puffer
CTRL- Lfür die nächste Registerkarte
CTRL- Hfür die vorherige Registerkarte
Hier ist die
.vimrc
Konfiguration:Siehe http://syskall.com/my-biggest-vim-productivity-boost/
quelle
quelle
:tab sball
zuerst, oder anstatt zu verwenden:tabn
, sollten Sie verwenden:buffer
Ich bin in letzter Zeit minimalistischer geworden.
Zum Puffern von Puffern verwende ich ]bund [bvon nicht beeinträchtigten: https://github.com/tpope/vim-unimpaired
Um direkt zu einem offenen Puffer zu springen, verwenden Sie einfach Vims Tab-Vervollständigung mit :b. Ein paar Buchstaben reichen aus, um mit ein oder zwei Tabulatoren zu einem offenen Puffer zu gelangen.
Ähnlich wie beim Öffnen von Puffern verwende ich :erelative Pfade und Tabulatoren komplett.
Ich verwende auch :lsgelegentlich, um zu sehen, welche Puffer ich geöffnet habe (und um ihren geänderten Status zu überprüfen).
Um einen Puffer loszuwerden, lösche ich :bwden Puffer. Normalerweise mache ich eine vorübergehende Aufteilung und ändere die Puffer, um mein Layout seitdem beizubehalten:bw auch das aktive Fenster geschlossen wird.
Alle Minibuf-Dinge, die ich ausprobiert habe, haben mich nur geärgert, und ich möchte nicht, dass ein Smart-Matching-Ding zufällige Dateien für mich öffnet. Wenn ich wirklich nach etwas suchen muss, verwende ich NERDtree ( :e .).
IDK, in letzter Zeit habe ich auch Yankring fallen lassen (weil es vermasselt ist xp) und angefangen, Register zu verwenden, und ich habe kürzlich entschieden, dass die f/ tBewegungen die größte Sache sind, die es je gab ...
quelle
<leader>ll
zu:ls
. Es ist auch sehr nützlich, um sicherzustellen, dass Sieset wildmenu
in Ihrem.vimrc
als dann haben Sie ein kleines Menü, das mit allen Alternativen für:b
Der exzellente Buffer Explorer hat ein so starkes Muskelgedächtnis, dass ich mir wünsche, ich könnte es in anderen Anwendungen verwenden. Ich finde es extrem schnell, wenn mehr als zwei Dateien aktiv bearbeitet werden.
quelle
Ich habe eine ganze Weile damit verbracht, meine .vimrc für dieses HTML :: Mason-Projekt zu erstellen, an dem ich seit vier Jahren arbeite. Daher habe ich eine seltsame Mischung aus Registerkarten und geteilten Fenstern. Für Ihr Sehvergnügen:
quelle
Ich benutze tselectbuffer . Es ist sehr schnell und nimmt im Gegensatz zum Bufexplorer keinen Platz in Ihrem Fenster ein. Es hat auch eine inkrementelle Suche. Ich habe Minibufexplorer ausprobiert und fand die Navigation im Puffer etwas schwierig.
quelle
,be
,,bs
,,bv
, so Mapped I TSelectBuffer zu,bb
.Zum Auflisten und Wechseln zwischen Puffern verwende ich:
So wechseln Sie zwischen Puffern:
quelle
Ich habe kartiert
<S-J>
und<S-K>
auf:bp
und:bn
, obwohl ich ich gebe ihn nicht verwenden , wenn die Anzahl der Dateien größer als 10 habe ich dann kartiert<C-J>
und<C-K>
auf Gnome - Terminal des vorherigen und nächsten Registerkarten, und ich in der Regel 4 Fälle von Vim laufen für jede die 4 verschiedenen Projekte, an denen ich arbeite. Ich wünschte immer noch wirklich, der nächste und vorherige Puffer würde in die Geschichte der Puffer eingehen, an denen ich gearbeitet habe, und nicht in die Reihenfolge in der Pufferliste.quelle
Ich benutze tselectbuffer. Es ist sehr schnell und nimmt im Gegensatz zum Bufexplorer keinen Platz in Ihrem Fenster ein. Es hat auch eine inkrementelle Suche. Ich habe Minibufexplorer ausprobiert und fand die Navigation im Puffer etwas schwierig.
quelle
Ich benutze einfach: vsplit mit ^ W + w / ^ W + r und: tabnew mit Strg + Alt + PgUp / PgDown Tastenkombinationen.
quelle
Wenn in einer Vim-Sitzung mehrere Puffer geöffnet sind, kann es schwierig werden, die Puffer und ihre jeweiligen Puffernummern zu verfolgen. In diesem Fall kann das Wechseln zu einer anderen Datei mithilfe einer einfachen Karte vereinfacht werden:
vim.wikia.com
quelle