Странный рендеринг артефакта в vim (терминал, а не MacVim)

При запуске Mac OS X с использованием Terminal.app или iTerm2 возникает странный артефакт с рендерингом персонажей, который мне трудно объяснить, и еще сложнее понять. Я начну с видео моего экрана, чтобы вы могли увидеть его и пример в действии:

Странный терминал vim рендеринга

Из видео вы можете увидеть несколько странных случаев, например, иногда, когда я нажимаю букву в режиме вставки, символ печатается дважды. Когда я вхожу в нормальный режим, артефакт остается. Когда я снова вхожу в режим вставки, нажатие клавиши Backspace копирует символы слева в положение под курсором.

Это произошло в OS X Lion и Mountain Lion как в Terminal.app, так и в iTerm 2. Это никогда не происходит в MacVim.

Кроме того, я использую GNU/Linux на своем другом компьютере, и никогда этого не происходило, я уверен, что это строго проблема Mac OS X, но я не знаю, как это исправить. Некоторое время я работал над этим, используя MacVim большую часть времени, но я предпочитаю работать в терминале.

Кто-нибудь знает, что здесь происходит, и если да, то как я могу это исправить?

РЕДАКТИРОВАТЬ: я пытался использовать исполняемый файл macvim Vim, и я до сих пор получаю странные артефакты, но они локализованы в левой части экрана, вот пример:

введите описание здесь

2 ответа

Всего в темноте: есть ли в вашей ~/.vimrc следующая строка?

set list listchars=tab:\ \ ,trail:

Попробуйте закомментировать это с " в начале строки и перезапуска vim.

Я взял его из чьего-то репозитория dotfiles, и у меня не было возможности отследить, почему это вызывает проблемы.

Я бегу iTerm2. мой $TERM является xterm, Надеюсь, это поможет.

Это может быть связано с тем, что ветка Git помещается в строку состояния, используя следующую функцию в ~ /.vimrc:

system("git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* //'")`
Другие вопросы по тегам