In letzter Zeit habe ich mehr und mehr meiner Arbeit von IntelliJ auf vim verlagert. Mit einer Handvoll Plugins und Einstellungen vermisse ich die IDE nicht sehr.
Eine Sache, die ich vermisse, ist die einfache Navigation in einem großen Verzeichnisbaum von Quelldateien.
Ich arbeite an einem mittelgroßen Projekt mit 39 Quelldateien. aufgeteilt auf eine Handvoll Verzeichnisse.
IntelliJ würde das Projektverzeichnis wie (nicht mein Bild) anzeigen . Wenn Sie mit einer IDE nicht vertraut sind, können Sie auf eine der Dateien klicken, um sie in Ihrem Hauptbearbeitungsfenster oder in einem Split zu öffnen.
Im Moment habe ich nur ein paar Tmux-Fenster geöffnet, aber das ist nur für zwei oder drei Dateien wirksam, bevor die Fenster zu klein werden.
Die Tmux-Seitenleiste repliziert die Funktion visuell, Sie müssen jedoch noch manuell einen Dateinamen und einen Pfad eingeben, um sie zu bearbeiten.
Vim ist nativ :Ex
und :Sex
funktioniert gut, aber (soweit ich das beurteilen kann) gibt es keine Möglichkeit, eine Datei in einem anderen Split zu öffnen. Ich möchte es öffnen und Dateien in vorhandenen Puffern / Splits öffnen können.
quelle
o
einer Datei, wenn Sie netrw verwenden (netrw wird:Ex
geöffnet).Antworten:
Ich habe lange Zeit Essig verwendet und dank "the tpope way" die einheimischen
netrw
Abkürzungen gelernt (die übrigens eine Baumansicht haben , drücken Siei
dreimal). Alles, was ich auf einem nackten Vim vermisse, ist die-
Zuordnung, um ein Verzeichnis aufzurufen .Obwohl ich zu Dirvish gewechselt bin, das in großen Verzeichnissen wahnsinnig schneller ist und einen noch idiomatischeren Ansatz hat; aus der README:
Im Gegensatz zu NERDTree und anderen Plugins, die eine klassische IDE imitieren, verwenden diese beiden den aktuellen Puffer, um die Dateiliste anzuzeigen, die einen fokussierteren Workflow erzwingt und letztendlich mehr Platz für den Inhalt bietet. Nichts hindert Sie daran, Netrw oder Dirvish in einer vertikalen Spalte wie eine Projektschublade zu öffnen.
Ich bin auch an Strg (oben sichtbar) gewöhnt, um schnell Dateien im aktuellen Verzeichnis zu finden. Diese Konfiguration wurde vom Gedankenbot-Beitrag Faster Grepping in Vim inspiriert und ersetzt
grep
durchag
:Aber eine einfache Karte kann den Trick machen, tippen Sie einfach
:e **/*
gefolgt von einem Muster und fahren Sie mit<Tab>
.quelle
Ich mag Ranger wirklich als Dateiauswahl. Im Gegensatz zu NERDTree wird es nur angezeigt , wenn Sie es benötigen, hat Vim-ähnliche Tastenkombinationen und kann auch ohne Vim verwendet werden.
quelle
Installieren Sie das Fuzzy Searcher Plugin, durchsuchen Sie eine beliebige Datei und öffnen Sie sie.
Installieren Sie beispielsweise ctrlp.vim , ctrlp-py- matcher und the_silver_searcher
Fügen Sie diese Einstellungen hinzu:
https://github.com/tracyone/t-vim/blob/master/rc/jump.vim#L79-L149
quelle
Sie können den integrierten Dateibrowser netrw in einem Seitenbereich verwenden. Hier ist eine kurze Einführung:
Öffnen Sie den Ordner in netrw, vielleicht mit
vim .
oder:e folder
Wählen Sie eine Datei aus und vdrücken Sie, um sie in einem [v] ertischen Split zu öffnen.
Aber Sie möchten wahrscheinlich den Dateibrowser auf der linken Seite. Hit Ctrl-W x( permanente Korrektur )
Möglicherweise möchten Sie, dass Ihr aktuelles Fenster breiter wird. Schlagen20 Ctrl-W >
Wenn Sie das nächste Mal eine Datei öffnen möchten, drücken Sie, Shift-Panstatt vsie im vorhandenen Dateibereich (dem Fenster [P] revious) zu öffnen.
Bonus: Wie der Name schon sagt, kann netrw sogar über ein Netzwerk (FTP, SFTP) arbeiten. Ich bin nicht sicher, ob Dateibaum-Plugins wie NerdTree und VTreeExplorer dieses Verhalten bieten.
Sie können netrw veranlassen, einen Baum anzuzeigen, indem Sie die iTaste einige Male drücken .
quelle