3

Я использую Vim через MinTTY под Cygwin. Когда я выдаю команду, как

:!ls -la

отображаемый вывод не показывает новые строки правильно. Скорее, он просто переходит к виртуальному столбцу следующей строки, где заканчивался предыдущий вывод, например:

This is line 1
              This is line 2
                            This line wraps
around
      Line 4 starts here

Есть у кого идея, что вызывает такое поведение? Некоторые настройки:

:set sh?
sh=/bin/bash

:set shellpipe?
shellpipe=2>&1| tee

они никогда не были тронуты мной. Vim запускается с '-X -T xterm-256color', но это, похоже, не играет роли.

2 ответа2

1

Похоже, это из-за различий в конце строки. Vim по умолчанию использует окончания строк в стиле DOS CR/LF. Но когда вы запускаете команды, вы видите только LF.

Я знаю, что это не имеет никакого смысла.

Но мне было бы интересно посмотреть, что произойдет, если вы :set shellpipe?=2>&1\|unix2dos\|tee а затем :!ls -la

0

Я видел нечто подобное, когда vim пытается сделать умный отступ. Попробуйте использовать буфер вставки :!a потому что это не делает умный отступ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .