Экран VIM + на удаленной (ssh) машине Linux

1

Проблема возникает с моим текстом в VIM, когда я работаю внутри, screen это мой .screenrcфайл

defshell -bash
startup_message off
term screen-256color

и это то, что я вижу в своем терминале (проверьте положение букв), когда я перемещаю курсор вверх и вниз между строк введите описание изображения здесь

user1016265
источник
1
Это похоже на то $TERM, что должно быть установлено на screen-256color. Проверьте этот ответ: unix.stackexchange.com/questions/139075/…
Дмитрий Франк
@DmitryFrank это было раньше, xterm-256colorи я попытался установить его на предложенное, screen-256colorно стало только хуже :(
user1016265

Ответы:

0

Очевидный симптом - персонажи, неожиданно движущиеся вокруг (влево / вправо).

Вероятно, это либо (а) несоответствие локали, либо (б) несоответствие между фактическим терминалом и TERMзначениями. Разница в поведении для этого между xtermи не xterm-256colorбудет иметь значения. (Это повлияет только на использование цветов vim).

Несоответствие локали может быть диагностировано путем запуска localeпрограммы в системе локали и в удаленной. Например, если один сообщает

LANG=en_US
LC_CTYPE=en_US
LC_ALL=en_US

в то время как другой говорит

LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8

у вас возникнет проблема, потому что программы (такие как vim), которые подсчитывают символы для определения количества столбцов - и позиции на экране - могут быть сбиты с толку дополнительными байтами, используемыми для кодирования UTF-8, и считать их как дополнительные столбцы.

В случае несоответствий TERMопределить сложнее (зависит от знания того, какой фактический терминал используется, и описания используемых терминалов).

Томас Дики
источник
Эй, @tommas, это интересная идея о несоответствии локалей. Что я должен проверить? Не могли бы уточнить немного?
user1016265