vim und NERD Tree Erweiterung - Hinzufügen einer Datei

400

Wenn Sie den vim-Editor mit dem NERDTree-Plugin verwenden, um durch den Baum Ihres Projekts zu navigieren, gibt es eine einfache Möglichkeit, eine neue Quellcodedatei unter dem aktuell markierten Verzeichnis zu erstellen?

Derzeit gehe ich in meine Shell, füge die Datei hinzu und aktualisiere dann den Baum. Es muss einen besseren Weg geben.

Daniel
quelle

Antworten:

857

Aktivieren Sie den NERDTree und navigieren Sie zu dem Verzeichnis, in dem die neue Datei gespeichert werden soll. Drücken Sie dann m, um das NERDTree-Dateisystemmenü aufzurufen, und wählen Sie a" Untergeordneten Knoten hinzufügen". Geben Sie dann einfach den Namen der Datei (oder des Verzeichnisses) ein und Sie sind fertig.

innaM
quelle
31
Wenn Sie einen Verzeichnisnamen hinzufügen, denken Sie daran, nach dem Namen ein "/" einzugeben.
Buffalo Billion
14
Art "?" und sehen Sie weitere Optionen von NERDTree, die Ihre Zeit sparen können.
Starikovs
Gibt es eine Möglichkeit, mehrere Verzeichnisse ineinander zu erstellen, bevor die Datei erstellt wird ... zB [ma] dann: whereiam / newdir1 / newdir2 / somefile funktioniert nicht, aber [ma] dann: whereiam / newdir1 / newdir2 / works (obwohl es einige Fehler gibt, werden die Verzeichnisse erstellt).
Justin
Gibt es eine Möglichkeit, einen Schritt zu speichern und die erstellte Datei automatisch zu öffnen? Verwenden Sie die Erstellungsoption immer, aber 90% der Zeit möchten die Datei direkt nach der Erstellung in einem neuen Puffer bearbeiten.
Arcseldon
Ist es möglich, zwei oder mehr Dateien gleichzeitig in NerdTree hinzuzufügen ma?
Chang
44

In vim können Sie Shell-Befehle ausführen. In diesem Fall verwende ich also:

:!touch somefile.txt

und dann rdrücken, um das Nerdtree-Fenster neu zu laden.

Die andere Möglichkeit besteht darin, die neue Datei einfach in vim zu starten.

:e somefile.txt

Eine praktische Sache dafür ist, dass ich in meiner .vimrc die cwd automatisch in das Verzeichnis ändere, in dem sich meine aktuelle Datei befindet:

" Auto change the directory to the current file I'm working on

autocmd BufEnter * lcd %:p:h 

Auf diese Weise wird der Pfad genau dort geändert, wenn ich eine Datei bearbeite und eine andere an derselben Stelle haben möchte. Durch Öffnen einer beliebigen Datei in NERDTree wird das Verzeichnis auf das Verzeichnis festgelegt, in dem sich die Datei befindet.

Rick
quelle
10
Drücken Sie stattdessen R (groß geschrieben), um das Fenster zu aktualisieren. Kleinbuchstaben r aktualisiert nur das Verzeichnis unter dem Cursor.
Andrew