Ich benutze den Bildschirm, um Code, den ich mit Vim betrachte, von einem Fenster in ein anderes Fenster zu kopieren, das gerade eine Datei mit Vim bearbeitet. Beim Einfügen in das zweite Fenster bekomme ich nach jedem Zeilenumbruch immer mehr Leerzeichen links von meiner Eingabe. Wie findet dieses Leerzeichen auf meinem Puffer?
Ich habe versucht, die automatische Einrückung zu deaktivieren, falls Vim den zusätzlichen Leerraum hinzufügt, aber das Problem bleibt bestehen.
Hier sind Informationen, die relevant sein könnten:
Kopieren Sie mit der Maus oder einer anderen nicht-vim-Methode? Wenn ja, müssen Sie :set paste
vor dem Einfügen und :set nopaste
nach dem einfügen. Siehe :h pastetoggle
für eine schnelle Zuordnung.
Wenn alle vim-Sitzungen lokal sind und Vim sie unterstützt ( :echo has('clipboard')<CR>
sollte echo 1
), sollten Sie Ihre System-Zwischenablage verwenden: "+y
to yank und "+p
einfügen ohne diese lästige Einrückung.
Oder besser, öffnen Sie Ihre Dateien in der gleichen Vim-Sitzung.
Das Problem kommt von listchars
und eol
Vim fügt ein Zeichen am Ende der Zeile hinzu, einige Benutzer fügen zum Beispiel hinzu ↲
Um dieses zusätzliche Zeichen zu entfernen, müssen Sie eop nicht in Listchars setzen, zum Beispiel:
%Vor% Die Registerkartewird durch Leerzeichen ersetzt, nachfolgende Leerzeichen werden mit -, etc ...
angezeigtDa eol nicht vorhanden ist, wird es nicht angezeigt, damit wird Ihr Problem behoben
Tags und Links vim whitespace gnu-screen