Wie kann verhindert werden, dass iTerm2 nach dem Einfügen mehrzeiliger Textblöcke Überlappungen und unterbrochene Linien erzeugt?

11

Wenn ich mehrzeilige Textblöcke in iTerm2 einfüge, kommt es immer zu einem Durcheinander der Ausgabe. Es scheint nur auf einige Programme beschränkt zu sein, die interaktiv ausgeführt werden (wie Bash, IRB - Python / VIM funktionieren einwandfrei). Mit dem nativen Terminal von Apple kann ich einfügen, was ich will, wo immer ich will - es funktioniert. Zum Beispiel dieser Beispieltext ( Volltext auf pastie.org ):

echo Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
echo Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit.
echo Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue.
echo Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor.
echo Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor.
echo Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet.
echo Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus.
[snip]

in IRB eingefügt erzeugt dies in iTerm2:

Screenshot iTerm 2

während es dies im nativen Terminal erzeugt:

Screenshot Terminal.app

Ich verwende die neuesten Versionen von OSX und iTerm2. Was läuft hier falsch?

Danyel
quelle
5
Ich vermute, dass Ihre Pastengeschwindigkeit zu hoch ist. Gehen Sie zu Einstellungen> Erweitert und suchen Sie nach "Einfügen".
0942v8653
4
Vielen Dank! Ich konnte es jedoch nicht in den Einstellungen finden. Ich fand es unter Bearbeiten> Spezial einfügen> Langsamer einfügen. Ich füge jetzt mit 150 kB / s ein - es ist ein bisschen langsam, aber zumindest nervt es mich jetzt nicht. Noch einmal Danke!
Danyel
"Langsamer einfügen" funktioniert bei mir. Vielen Dank!
Sophia Feng

Antworten:

7

Aus Dokumenten :

Einfügen (sowohl normal als auch langsam) erfolgt durch Aufteilen des Texts zum Einfügen in Blöcke. Es gibt eine Verzögerung zwischen der Übertragung jedes Blocks. So ändern Sie die Geschwindigkeit, mit der "Einfügen" eingefügt wird:

defaults write com.googlecode.iterm2 QuickPasteBytesPerCall -int 1024
defaults write com.googlecode.iterm2 QuickPasteDelayBetweenCalls -float 0.01

So ändern Sie die Geschwindigkeit, mit der "langsam einfügen" eingefügt wird:

defaults write com.googlecode.iterm2 SlowPasteBytesPerCall -int 16
defaults write com.googlecode.iterm2 SlowPasteDelayBetweenCalls -float 0.125
Valery Viktorovsky
quelle
Beachten Sie, dass hierfür Iterm2 geschlossen / erneut geöffnet werden muss, wie im Link angegeben.
Cyril Duchon-Doris
1
iTerm2 Version 3.2.7+, können Sie paste slowlyim Edit -> Paste Special -> Paste SlowlyMenü verwenden
jk2K
1

In meinem Fall wurde es durch die Tatsache verursacht, dass ich das zsh-autosuggestions- Plugin für ZSH verwende.

Was dies löste, war das Hinzufügen dieser Zeile zu meiner .zshrc:

zstyle ':bracketed-paste-magic' active-widgets '.self-*'

wie in diesem Kommentar vorgeschlagen .

Syntagma
quelle