Ich habe einige Möglichkeiten untersucht, um eine Liste offener Puffer in Vim zu führen, und einige davon sind sehr gut, aber keiner von ihnen scheint sich so zu verhalten, wie ich es gerne hätte. Es ist sehr wahrscheinlich, dass nichts wie das existiert, was ich will, und es kann nicht schaden, zu fragen.
Ich habe NERDTree in GVim verwendet und ich mag die Idee, die Informationen in ein schmales Fenster auf der linken Seite zu stellen. Ich habe ein praktisches Diagramm zusammengestellt, wie meine Umgebung aussehen soll:
|--------|---------------------------------------|
| | |
| | |
|NERDTree| Windows |
| | |
| | |
| | |
|--------| |
| | |
| | |
| List | |
| of | |
| Open | |
| Buffers| |
| | |
| | |
|--------|---------------------------------------|
Meine Frage lautet also: Gibt es eine vim-native oder Plug-in-fähige Möglichkeit, eine Liste der aktuell geöffneten Puffer zu verwalten und aus dieser Liste in einem Fenster, das NERDTree ähnelt, auszuwählen, zu bearbeiten oder zu schließen?
Ich verstehe, dass dieser Ansatz möglicherweise nicht mit der Vorgehensweise von Vim übereinstimmt. Wenn Sie das Gefühl haben, dass mir etwas zum Verwalten mehrerer Dateien in einer Vim-Sitzung fehlt, hinterlassen Sie bitte einen Kommentar mit Vorschlägen!
quelle
Antworten:
Haben Sie das Plugin-Repository von vim.org durchsucht? Es gibt Dutzende von Buffer-Switching-Plugins, aus denen Sie auswählen können, z . B. BufferGator oder SelectBuf . Alternativ werden die meisten von ihnen in einer schönen Liste im Vim-Wiki zusammengestellt .
Wie Sie im letzten Teil Ihrer Frage angedeutet haben, ist diese Art von System nicht jedermanns Sache.
Ich hasse es , all diese Menüs, Schaltflächen und Listen von diesem oder jenem immer geöffnet zu haben: Eine Liste von offenen Puffern ist nur dann nützlich, wenn Sie tatsächlich zu einem anderen Puffer springen müssen. Eine solche Liste offen zu lassen, erscheint mir als Platzverschwendung . Das Gleiche gilt auch für aufgeladene Statuslinien.
Ich verwende das gleiche Plugin, um schnell zwischen den Puffern zu wechseln und das Dateisystem um die Datei, die ich gerade bearbeite, zu erkunden. Wird mit
,f
(files) oder,b
(puffers) aufgerufen, verschwindet das Fenster, wenn ich fertig bin. Perfekt. Es gibt andere ähnliche Plugins , probiere sie alle aus, wenn dir diese Idee gefällt.BEARBEITEN
Ich fühle mich gezwungen, ein animiertes GIF von CtrlP in Aktion hinzuzufügen und die Puffer zu wechseln:
ENDEDIT
Die Eingeborene
:sb <Tab>
ist auch hübsch, aber weniger sexy. Es unterstützt keine Fuzzy Matching , aber es hat einige große Vorteile: es wird gebaut und es funktioniert wie:e <Tab>
,:vs <Tab>
und so weiter.quelle
,b
, um mit ctrlp nach Puffern zu suchen?nnoremap ,b :CtrlPBuffer<CR>
.Ich kann den MiniBufExplorer nur empfehlen . Siehe auch eine Alternative zum Minibufexplorer?
quelle
MiniBufExplorer
ist oben (wo es nicht so viel Platz verschwendet wie links). Oder vielleicht habe ich Ihre Anforderungen falsch verstanden.Es gibt eine Möglichkeit, genau das mit dem WinManager- Plugin zu tun . In diesem Screenshot kombiniere ich sowohl NERDTree- als auch MiniBufExpl-Plugins (github: techlivezheng / vim-plugin-minibufexpl, aktuelles Commit atm 349a9fbb) auf der gleichen vertikalen Aufteilung und schalte es mit F4 um. Theoretisch sollte diese Lösung für jede andere Plugin-Kombination funktionieren.
Beispiel für meine .vimrc
Probleme:
Das Verhalten, das ich erreicht habe, ist alles andere als perfekt, aber es ist ein guter Anfang.
quelle