Копирование / вставка блока строк в редакторе vi

373
Dave SAVY

У меня странная проблема при копировании / вставке группы строк в vi. Например, скажем, у нас есть группа строк следующим образом:

AAAAAAAA AAAAAAAAAAAAAA BBBBBB BBBBB BBBBBBBBBB CCCCC CCC CCCCCCCC CCCC 

Если я скопирую эти строки и вставлю их, строки будут вставлены так

AAAAA AAAAAAAAAA BBBBBBBB BBBBBB BBBBBBBBBBB CCCCC CCC CCCCCCCC CCCC 

Значение переменной среды TERM равно vt320. Я не знаю, имеет ли это эффект. Но это работало раньше. Я открываю сессию, используя замазку. Есть какие-нибудь подсказки?

0
Я не уверен, что форматирование не соответствует вашим ожиданиям, но я не вижу разницы, о которой вы спрашиваете. Jon Reinhold 6 лет назад 0

1 ответ на вопрос

1
DJMcMayhem

Это предположительно из-за pasteварианта. От :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. 

Я предполагаю, что это происходит, потому что у вас есть некоторые настройки отступа, поэтому при вставке vim предполагает, что вы печатаете вместо вставки, и автоматически добавляет необходимые отступы. Если вы :set paste, это прекратит делать это.

Конечно, еще одно решение - использовать gvim вместо терминала. Это зависит от вас, стоит ли этот вариант для вас.