Normalerweise richte ich screenfür jedes Projekt eine Sitzung ein. Vim ist in Fenster 0 und ich benutze Fenster 1 für eine Shell-Sitzung. Wenn ich in einer Sprache programmiere, die ein anständiges REPL hat, führe ich das normalerweise in Fenster 2 aus. Natürlich müssen Sie das nicht screentun; Sie können dies mit verschiedenen Terminalfenstern oder mit Registerkarten in einem Multitab-Terminal tun. Ich finde screenes stabiler als andere Alternativen: Wenn Ihre Terminal-App abstürzt, können Sie einfach ein anderes Terminal starten und die Verbindung zu Ihrer noch laufenden screenSitzung wiederherstellen. screenist auch sehr schnell zu navigieren, sobald Sie es gelernt haben (ähnlich wie vim selbst).
Meistens benutze ich die Shell-Sitzung für komplizierte Versionskontrollaktivitäten wie das Neu-Basieren oder Zusammenführen: Einfachere Dinge können über die Befehlszeile von vim (z. B. :!git commit % -m 'Added info aboutBildschirm .') oder mit dem flüchtigen Addon ausgeführt werden. Ich finde Flüchtlinge :Gmove(benenne den aktuellen Puffer sowohl in vim als auch im git-Index um) und :Gdiff(rufe vimdiff für den aktuellen Puffer mit einem vorherigen Punkt in seinem Verlauf auf) besonders nützlich. Sie können auch eine Commit-Nachricht in einem Arbeitspuffer erstellen, Text aus verschiedenen Teilen Ihres Codes kopieren und anschließend mit Commit ausführen:%!git commit -F /dev/stdin
Ich werde die Shell-Sitzung auch für Funktions- / Integrationstests verwenden, wenn dies auf alle Aufgaben zutrifft, an denen ich arbeite, z. B. wenn ich ein Befehlszeilendienstprogramm schreibe.
Die Quickfix-Funktionalität von Vim ist nützlich für das Debuggen, obwohl anscheinend für jede Sprache, in der Sie arbeiten möchten, ein anderes Addon erforderlich ist. Sie scheinen auch verschiedene Aufruftechniken zu verwenden, wobei die Zuordnung zu Funktionstasten oder zu Tastensequenzen mit \oder beginnt ,. oder zu benutzerdefinierten Befehlen oder durch automatisches Aufrufen, wenn ein Puffer gespeichert wird. Bisher habe ich mich nicht wirklich darum gekümmert, dies herauszufiltern, sondern nur Unit-Test- oder Flusenergebnisse mit z :r !python -m doctest whatever.py. Ändern Sie den Code, wechseln Sie zurück in den Arbeitspuffer, uum den Vorgang rückgängig zu machen, :rund drücken Sie dann (die meiste Zeit) auf den Aufwärtspfeil, um den Befehl zurückzugewinnen. Aber es kann sich lohnen, ein Addon dafür zu suchen, abhängig davon, in welcher Sprache Sie arbeiten.
Für gängige kompilierte Sprachen wie C, Java usw. :makewird ein Build erstellt, und die Unterstützung für die Quickfix-Liste ist gut etabliert. So können Sie dann :copenden Quickfix-Puffer anzeigen. Es wird eine Fehlerliste angezeigt, eine pro Zeile. Wenn Sie Enterauf eine Linie treffen, springt Ihr anderes Fenster an den Punkt in dieser Datei.
Wenn Sie mit mehreren Projekten gleichzeitig arbeiten, können Sie :lmakedafür sorgen, dass eine Liste mit Fehlern in der Standortliste gespeichert wird : Dies entspricht der Quickfix-Liste, ist jedoch einem einzelnen Fenster zugeordnet, anstatt ein Singleton in Ihrem zu sein vim instance. :lopenöffnet eine Standortliste für das aktuelle Fenster.