12 votes

Comment empêcher l'iTerm2 de créer des chevauchements et des lignes brisées après le collage de morceaux de texte multilignes ?

Si je colle des morceaux de texte de plusieurs lignes dans iTerm2, j'obtiens toujours une sortie désordonnée. Cela semble limité à certains programmes fonctionnant de manière interactive (comme Bash, IRB - Python / VIM fonctionnent parfaitement). En utilisant le terminal natif d'Apple, je peux coller ce que je veux où je veux - cela fonctionne. Par exemple, cet exemple de texte ( texte complet sur 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]

collé dans IRB produit ceci dans iTerm2 :

Screenshot iTerm 2

alors qu'il produit ceci en terminal natif :

Screenshot Terminal.app

J'utilise les dernières versions d'OSX et d'iTerm2. Qu'est-ce qui ne va pas ici ?

9voto

Adam Kinney Points 871

De docs :

Les collages (réguliers et lents) sont effectués en divisant le texte à coller en fragments. Il y a un délai entre la transmission de chaque fragment. Pour modifier la vitesse à laquelle "paste" colle :

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

Pour modifier la vitesse à laquelle "colle lentement" colle :

defaults write com.googlecode.iterm2 SlowPasteBytesPerCall -int 16
defaults write com.googlecode.iterm2 SlowPasteDelayBetweenCalls -float 0.125

1voto

syntagma Points 8338

Dans mon cas, cela a été causé par le fait que j'utilise zsh-autosuggestions pour ZSH.

Ce qui a résolu le problème, c'est l'ajout de cette ligne dans mon fichier .zshrc :

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

comme suggéré dans ce commentaire .

1voto

Arosha Points 101

Dans mon cas, c'était dû au fait que la mémoire tampon était limitée lors de l'acceptation d'une valeur d'entrée variable avec read commandement. La solution a été d'ajouter -e

Avant read accessToken

Après read -e accessToken

Docs : http://linuxcommand.org/lc3_man_pages/readh.html

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X