Kopieren / Einfügen eines Zeilenblocks im vi-Editor

422
Dave SAVY

Ich habe ein seltsames Problem beim Kopieren / Einfügen einer Gruppe von Zeilen innerhalb von vi. Nehmen wir zum Beispiel an, wir haben eine Gruppe von Zeilen wie folgt:

AAAAAAAA AAAAAAAAAAAAAA BBBBBB BBBBB BBBBBBBBBB CCCCC CCC CCCCCCCC CCCC 

Wenn ich diese Zeilen kopiere und einfügen, werden die Zeilen so eingefügt

AAAAA AAAAAAAAAA BBBBBBBB BBBBBB BBBBBBBBBBB CCCCC CCC CCCCCCCC CCCC 

Der Wert der TERM-Umgebungsvariablen lautet vt320. Ich weiß nicht, ob dies eine Wirkung hat. Aber es hat vorher funktioniert. Ich öffne eine Sitzung mit Kitt. Irgendwelche Hinweise?

0
Ich bin nicht sicher, ob die Formatierung nicht Ihren Vorstellungen entspricht, aber ich sehe nicht den Unterschied, nach dem Sie fragen. Jon Reinhold vor 6 Jahren 0

1 Antwort auf die Frage

1
DJMcMayhem

Dies liegt vermutlich an der pasteOption. Von :h paste:

 *'paste'* *'nopaste'* 'paste' boolean (default off) global  Put Vim in Paste mode. This is useful if you want to cut or copy some text from one window and paste it in Vim. This will avoid unexpected effects. Setting this option is useful when using Vim in a terminal, where Vim cannot distinguish between typed text and pasted text. In the GUI, Vim knows about pasting and will mostly do the right thing without 'paste' being set. The same is true for a terminal where Vim handles the mouse clicks itself. 

Ich gehe davon aus, dass dies geschieht, weil Sie einige Einrückungseinstellungen haben. Beim Einfügen nimmt vim an, dass Sie tippen, anstatt einzufügen, und fügt automatisch die erforderlichen Einrückungen hinzu. Wenn Sie :set pastedies tun, wird es aufhören.

Eine andere Lösung ist natürlich die Verwendung von gvim anstelle eines Terminals. Es liegt an Ihnen, ob diese Option es Ihnen wert ist.