Странный рендеринг артефакта в vim (терминал, а не MacVim)
При запуске Mac OS X с использованием Terminal.app или iTerm2 возникает странный артефакт с рендерингом персонажей, который мне трудно объяснить, и еще сложнее понять. Я начну с видео моего экрана, чтобы вы могли увидеть его и пример в действии:
Из видео вы можете увидеть несколько странных случаев, например, иногда, когда я нажимаю букву в режиме вставки, символ печатается дважды. Когда я вхожу в нормальный режим, артефакт остается. Когда я снова вхожу в режим вставки, нажатие клавиши 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/* //'")`