Странное поведение при редактировании файлов при монтировании curlftpfs в vim

633
Ashnur

Во время редактирования vim иногда дублирует символы. То есть при наборе некоторые символы появляются дважды. Если я пытаюсь удалить, vim удаляет символы в другом порядке, чем они появляются. Если я не удалю, а сохраню файл, выйду из vim, снова открою файл, я вижу, что на самом деле не было удвоения символов, это просто выглядело так.

Пробовал установить notimeout, а также установить backupdir на локальный каталог, но проблема остается.

Также, пока я двигаюсь в обычном режиме с помощью hjkl, иногда данный символ появляется в терминале, т.е. Я нажимаю 'j' несколько раз, перемещая курсор вниз, и он оставляет за собой след символов 'j', которые фактически не записываются в файл, я вижу их только в терминале, закрывая vim и снова открывая файл, решает проблема временная.

Это довольно раздражает, потому что я не могу набрать строку кода или переместить страницу вниз, не столкнувшись с этой проблемой.

Я использую Ubuntu 10.10 с:

  • гном-терминал 2.32.0
  • curlftpfs 0.9.2
  • Libcurl / 7.21.0
  • Предохранитель / 2.8
0
Это все еще происходит, если вы попробуете другой эмулятор терминала? (например, xterm или konsole вместо gnome-терминала) Это происходит в gVim? Heptite 13 лет назад 0
Это случается с xterm, но после использования gvim в течение нескольких минут все выглядит нормально. Спасибо за совет, я могу работать с этим сейчас, но в долгосрочной перспективе я все еще хотел бы знать, что вызывает это, если у вас есть какие-либо идеи ... Ashnur 13 лет назад 0
Мое предположение заключается в том, что ваш терминал находится в слегка неправильном состоянии, что может быть вызвано неправильной установкой переменной окружения $ TERM. Вы переопределяете эту переменную где-нибудь? Что показывает "echo $ TERM" в командной строке терминала? Heptite 13 лет назад 0
он говорит «xterm» :(, я думаю, это не ожидалось. Ashnur 13 лет назад 0
Для gnome-Terminal и xterm «xterm» является допустимым значением переменной среды $ TERM. Так что на данный момент я в растерянности. Heptite 13 лет назад 0

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

0
Black Square

У меня была эта проблема недавно. В моем случае симптомы были:

  • то hjklсимволы или управляющие последовательности, связанные с клавишами управления курсором, появляются при движении в режиме командной строки

  • строки будут повреждены в режимах Command и Insert, кажется, что строки не обновляются должным образом.

Эти эффекты не происходят в gVim, но происходят независимо от используемого эмулятора терминала.

Я использовал конфигурацию Vim, которую я скачал - она ​​определила функцию, которая запускала команду оболочки, которая возвращала, из какой ветки git был файл. Вывод будет напечатан в строке состояния. Однако у меня не установлен git, поэтому всегда возникало исключение. Удаление функции полностью решило мою проблему.

Ошибки возникают только при изменении экрана, то есть когда эта функция вызывается. Я думаю, что постоянный вызов оболочки и ее выдача исключения каждый раз, когда вы нажимаете клавишу, замедляет эмулятор терминала настолько, что он не обновляется должным образом. Ошибки возникали чаще, когда у меня было много открытых вкладок Firefox, или я удерживал клавиши hjkl или курсора.

Чтобы решить .vimrcэту проблему, попробуйте отключить любые функции в вашем файле, которые вызывают оболочку, могут вызывать исключения или отнимать много времени.

Это звучит очень многообещающе, так как у меня тоже есть функция для отображения текущей ветки git. Я отключу его и протестирую, если что-то изменится. Ashnur 13 лет назад 0