Diese Lösung ist vollständig von Romainls inspiriert (vielen Dank an ihn) , ermöglicht jedoch das Öffnen mehrerer Puffer mit mehreren Zeichenfolgen.
Fügen Sie die folgenden Zeilen zu Ihrer .zshrc
(oder .bashrc
einer relevanten Datei, in der Sie Ihre Bash-Funktionen definieren) hinzu.
function mvim {
CMD="vim "
for string in "$@"
do
CMD=$CMD"-c \"enew | put='"$string"'\" "
done
CMD=$CMD"-c \"bufdo 1d\""
eval $CMD
}
Nach dem Sourcing Ihrer .zshrc
Datei können Sie die folgende Funktion aufrufen:
mvim "foo bar" "baz" "and quz"
Dadurch wird eine vim-Instanz mit 3 Puffern geöffnet, von denen jeder eine Zeichenfolge enthält.
Wenn kein Argument angegeben wird, wird eine reguläre vim-Instanz gestartet. Wenn ein Argument eine leere Zeichenfolge ist, wird ein leerer Puffer erstellt.
BEARBEITEN Ich habe festgestellt, dass aus einem Grund, den ich nicht verstehe, am Anfang jedes Puffers eine leere Zeile erstellt wird, also habe ich die Zeile hinzugefügt
CMD=$CMD"-c \"bufdo 1d\""
Um diese leere Zeile in allen Puffern loszuwerden.
vim < echo "test"
aber ohne Erfolg. Ich wusste es nichtvim -
! Und+
/-c
kann auch nützlich sein. Vielen Dank.