Wenn ich vim mit mehreren Dateien in der Befehlszeile öffne, z. B. vim debug.log*
welche geladen werden debug.log
, debug.log.1
und debug.log.2
kann ich zwischen ihnen navigieren und sie mehreren Fenstern ( :split
/ :vsplit
) oder dergleichen zuweisen ?
Die einzige Abkürzung, die ich für diesen Betriebsmodus kenne :n
, ist das Laden der nächsten Datei in der Liste. Was kann ich in diesem Mehrdateibetriebsmodus noch tun? (oder welches Hilfethema deckt das ab?)
multiple-files
load
SF.
quelle
quelle
:previous
(oder:prev
) ist die Umkehrung von:n
und geht eine Datei zurück.Antworten:
Das relevanteste Hilfethema ist
:ls
auch als:files
oder bekannt:buffers
.In Ihrem
vim debug.log*
Beispiel:ls
würden Sie sehen , wenn Sie den Befehl geben würden:… Zeigt an, dass der erste der aktive Puffer ist.
debug.log.2
Geben Sie zum Öffnen im aktuellen Fenster den Befehl:b 3
oder ein:b debug.log.2
, um Puffer 3 anzuzeigen.Geben Sie den
:sb 2
Befehl ein , um das Fenster zu teilen und Puffer 2 darin zu öffnen . Die vertikal geteilte Version davon ist:vert sb 2
.Es gibt viele Varianten des
:b
Befehls. Durchsuchen Sie die hier genannten Hilfethemen, um ein Gefühl dafür zu bekommen.Darüber hinaus können Sie aufrufen
vim -o debug.log*
, um alle Dateien zu öffnen, jede in ihrer eigenen Aufteilung, odervim -O debug.log*
um sie jeweils in einer vertikalen Aufteilung zu öffnen.quelle
Zusätzlich zu der von 200_success erwähnten Raw-Vim-Funktionalität enthält das Vim-Ökosystem zahlreiche Plugins, um zusätzliche Funktionen bereitzustellen, z.
Bevor Sie jedoch Plugins verwenden, sollten Sie die Puffer und Fenster in vim vollständig verstehen.
quelle
Sie können vim auch mit verschiedenen Parametern öffnen.
Öffnet Dateien in Registerkarten:
Öffnet Dateien in vertikalen Teilungen:
Es gibt ein cooles und ziemlich leistungsfähiges Plugin namens CtrlSpace:
https://github.com/szw/vim-ctrlspace
Es ist sehr praktisch, wenn Sie mit vielen Dateien arbeiten müssen. Sie können sich einfach Strg-Leerzeichen als eigene Pufferliste für jede Registerkarte vorstellen. Es bietet eine sehr einfache Möglichkeit, zwischen den Dateien zu navigieren, wie der Autor feststellt:
quelle
Wenn Sie eine bestimmte Datei öffnen möchten, ohne sie durchlaufen zu müssen
:ls
, können Sie eine der folgenden Optionen verwenden::vs filename
öffnet die Datei in vertikaler Aufteilung:sp filename
macht das gleiche, aber in einer horizontalen Aufteilung:tabe filename
wird in einer neuen Registerkarte geöffnetEs ist auch wichtig zu wissen, dass Sie, wenn Sie keinen Dateinamen angeben, einen neuen Split / Tab der aktuellen Datei öffnen, was für lange Dateien nützlich sein kann.
quelle
:t
ist der Kopierbefehl. Denn:tabedit
du brauchst wenigstens:tabe
.Es gibt nur wenige nützliche Verknüpfungen zum Navigieren in mehreren Dateien:
CTRL-^
(woN
ist die Puffernummer), um zur zuvor bearbeiteten Datei zu springen.N CTRL-^
(woN
ist die Puffernummer), um zu einem bestimmten Puffer zu springen.Beispielsweise:
Dies entspricht
:buffer N
.Verwenden Sie
:Ex
/:Sex
/:Vex
das aktuelle Verzeichnis zu navigieren.Verwenden Sie
:tabs
stattdessen (vim -p
) mit einigen benutzerdefinierten Verknüpfungen.vimrc
wie:Verwendung
:ba
/:vert ba
Split, springen in die ausgewählten Puffer über Control+w, w/ W, dann ist es das aktuelle Fenster (stellen:on
).quelle