wincent/terminus

Bug in the virtual terminal: Ghost 'q' character appears on entering/leaving Insert mode

rlue opened this issue · 6 comments

rlue commented

This is happening on a fresh install of Debian 9.2 and vim 8.0.707 with vim-plug.

Working from the virtual terminal, any time I would leave Insert mode, a q character would appear at the cursor location. When working in tmux, the ghost q would appear both when entering and leaving insert mode. This character would persist even after clearing the screen with <C-l>, but would disappear if scrolled off, e.g., with <C-f><C-b>.

In tmux, the character was always grey, even when the default color for plain text was blue. In the tty or fbterm, the character was blue, matching the color of plain text. (I suspect this may have something to do with my terminal settings, but I'm not certain.)

I have confirmed that the bug does not occur when I exclude terminus from my vim-plug configuration, and that it still occurs when wincent is the only plugin included in my vim-plug configuration.

I can confirm this bug.

It can be reproduced on both:

  • KDE Konsole
  • Yakuake

Environment:

  • SSH to Ubuntu Xenial
  • Vim 8.0.1567

The bug is gone if I remove vim-terminus out from .vimrc.

It worth to note, that the bug cannot be reproduced on my local env:

  • Arch Linux
  • Vim 8.0.1542

I don't have an environment where I can repro this, nor do I really have a clear sense of what could be going on. But happy to accept a PR if somebody wants to dig and get to the bottom of this.

Sure, if I manage to figure out what's wrong - I'll let you know. For now I found this paragraph in NeoVim wiki - https://github.com/neovim/neovim/wiki/FAQ#nvim-shows-weird-symbols-2-q-when-changing-modes It looks very similiar to what I see. However, I have TERM=xterm-256color and konsole definetely support extended codes to change shape of the cursor.

That's weird but the problem seems to be indeed in konsole. If I run on the remote host

KONSOLE_PROFILE_NAME=my-kosnole-profile-name vim

Everything seems working fine.

Thanks @ikalnytskyi I'm seeing the same behavior with Konsole but your ENV variable solution worked for me. I created a shell alias until some more permanent solution is available.

alias vim="KONSOLE_PROFILE_NAME=Default vim" 

#39 fixes this issue for me.