Nein. Vim (oder jede andere Anwendung für diese Angelegenheit) hat keine Möglichkeit, bash mitzuteilen, dass er stattdessen eine andere Aktion ausführen sollte.
Vorhandene Aufträge beim Öffnen von Dateien erneut verwenden
Die Frage wird am besten durch Beispiele gegeben:
vim example.txt #Opens Vim on new or existing file
Ctrl+Z
vim someother.txt
Ctrl+Z
vim example.txt #Auto-runs `fg 1` since example.txt is already open
Ist das möglich?
4 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Sie können vim Puffer verwenden, um mehrere Dateien zu bearbeiten.
Bearbeiten Sie beide Dateien: vim example.txt someother.txt
Wechseln Sie dann zwischen ihnen mit :buffer <filename>
.
Siehe auch den einfacheren Pufferwechsel-Tipp und die häufig gestellten Fragen zu Vim-Puffer .
Eine Beispiellösung funktioniert unter bash (erfordert paste, grep, sed). Es ist spezifisch für Vim, kann aber an einen anderen Editor angepasst werden.
jim () { paste <(jobs) <(jobs -p | xargs -n1 ps o cmd= -p) | grep "$1$" > ~/tmp/jm && fg $(cat ~/tmp/jm | sed -r 's/^\[([0-9]+).*/\1/') [[ $? == 1 ]] && vim $1 }
Genießen!
Ich glaube nicht, dass es einen generischen Weg gibt, Arbeitsplätze wiederzuverwenden.
Für Ihren Bearbeitungsworkflow möchten Sie möglicherweise zu Emacs wechseln. Anstatt ctrl-z zu drücken, um zur Shell zurückzukehren, können Sie mit M-x ansi-term
oder eine untergeordnete Shell in einem Emacs-Puffer ausführen M-x shell
und zwischen der Shell und Ihren Bearbeitungspuffern hin und her wechseln oder sogar die Ansicht teilen, um beides gleichzeitig anzuzeigen. Emacs verfolgt das Arbeitsverzeichnis der Shell. Wenn Sie also im Dateisystem navigieren und entscheiden, dass Sie eine Datei öffnen möchten emacs somefile
, müssen Sie emacs nicht mit der Eingabe sagen, dass sie C-x C-f somefile<RET>
es öffnen soll. Die Datei wird in einem anderen Puffer geöffnet und wechselt zu ihr .
Sie können den emacs-Server auch starten und ausführen emacsclient somefile
, um die vorhandene emacs-Sitzung mitzuteilen, dass sie eine Datei öffnen soll. Wenn es bereits geöffnet ist, wird einfach auf den vorhandenen Puffer umgeschaltet.
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4