Warum gibt es beim Einfügen mit Screen zusätzliche Leerzeichen nach dem Zeilenumbruch?

7

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:

  • OSx 10.6.8
  • Beide Dateien sind Unix-Stil.
  • Bildschirmversion: 4.00.03
  • Vim Version: 7.3
  • Der zugrunde liegende Terminaltyp ist: xterm-color
Daeden 07.02.2013, 20:58
quelle

2 Antworten

19

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.

    
romainl 07.02.2013, 21:18
quelle
0

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 Registerkarte

wird durch Leerzeichen ersetzt, nachfolgende Leerzeichen werden mit -, etc ...

angezeigt

Da eol nicht vorhanden ist, wird es nicht angezeigt, damit wird Ihr Problem behoben

    
Ôrel 23.10.2015 13:14
quelle

Tags und Links