Ich habe gerade versucht, einige Inhalte (in Git Bash auf dem CentOS-Server) mit vim in eine Datei einzufügen.
Ich habe gerade die Datei geöffnet und versucht, shift+ zu verwenden, insertund habe festgestellt, dass die erste Hälfte (ungefähr) abgeschnitten wird, aber wenn ich vim auf Einfügemodus setze und shift+ insertdrücke, wird alles perfekt eingefügt.
Haben Sie sich nur gefragt, warum das so ist?
Vielen Dank
Antworten:
Sowohl Shift+ Insertals auch " Einfügen " in ein Terminal verhalten sich ähnlich - sie emulieren Tastendrücke.
Dies ist eine wichtige Unterscheidung, die für Terminals häufig nicht möglich ist - tippen Sie oder fügen Sie ein? Hinweis : Einige Terminals unterstützen " Bracketed Paste " -Modi. Nach @ Joshs Kommentar bin ich sogar auf ein VIM-Plugin gestoßen, das in xterm- Klammern eingefügt ist das Sie vielleicht interessiert.
Ihre eingefügten Daten gehen bis zum ersten Zeichen verloren, das in den Einfügemodus wechselt. Möglicherweise stellen Sie auch fest, dass sich Ihr Cursor bewegt hat und dass sich andere Teile der Datei geändert haben (z. B. Groß- / Kleinschreibung geändert / gelöscht / usw.) ...
Wenn Sie zusammenfassend Text einfügen, den Sie in die Datei einfügen möchten, rufen Sie zuerst den Einfügemodus auf.
Kopieren Sie den folgenden Text und fügen Sie ihn in ein Terminal ein, auf dem Vim ausgeführt wird (nicht im Einfügemodus):
Das Ergebnis entspricht dem Eingeben der gleichen Buchstaben auf Ihrer Tastatur:
In diesem Fall bleiben Sie im Einfügemodus ...
Verlassen Sie nun den Einfügemodus - Esc- und fügen Sie Folgendes ein
Dies führt eine Suche nach "are" durch:
Fügen Sie nun Folgendes ein:
Oh nein ... alles ist weg!
Wenn Sie das Einrücken aktiviert haben, wird beim Einfügen eines Codeblocks in vim (im Einfügemodus) zu viel eingerückt - es wird automatisch eingerückt, und der eingefügte Code wird eingerückt.
Um dies zu beheben, verwenden Sie die Befehle
:set paste
und:set nopaste
quelle
set nopaste
? Ich würde erwartenunset paste
."+
Register für die Interaktion mit der Systemzwischenablage verwenden, da es sich normalerweise vernünftiger verhält. Der Nachteil ist, dass einige Systeme oder Builds von Vim möglicherweise"*
stattdessen verwenden oder einfach keine System-Zwischenablage-Unterstützung haben, aber meiner Erfahrung"+
nach sehr zuverlässig waren.