Gibt es eine Möglichkeit, Vim so aufzurufen, dass ein Puffer mit einigen auf dem Terminal angegebenen Inhalten geöffnet wird, dh nicht in einer Datei gespeichert wird?
Zum Beispiel möchte ich ausführen vim
und einen Puffer öffnen lassen foo, bar, baz and qux
, auf den geschrieben steht.
Gibt es eine Option, die dies tut?
terminal
invocation
Gonçalo Ribeiro
quelle
quelle
vim < echo "test"
aber ohne Erfolg. Ich wusste es nichtvim -
! Und+
/-c
kann auch nützlich sein. Vielen Dank.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.Nach dem Sourcing Ihrer
.zshrc
Datei können Sie die folgende Funktion aufrufen: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
Um diese leere Zeile in allen Puffern loszuwerden.
quelle
Ich habe kürzlich nach einer Möglichkeit gesucht, wie der Inhalt der Zwischenablage in einem neuen Puffer in vim abgelegt werden kann. Ich denke, es lohnt sich, es hier zu teilen:
UPDATE:
Dies ist
put
der Text aus dem Register*
vor!
der aktuellen Zeile.Die Register
*
und+
beziehen sich auf die Zwischenablage in Windows.Unter Linux
+
hat der Inhalt der Zwischenablage und*
enthält den ausgewählten Text.quelle
:help quotestar
und:help quoteplus
in Ihrer Antwort diejenigen , die nicht wissen , diese Register zu helfen , zu verstehen , warum dieser Befehl funktioniert. Auch unter GNU / Linux gibt es einen Unterschied zwischen*
und+
, während sie unter Windows gleichwertig sind.