0

Recently I've started having a strange issue with the "rendering" of Vim. I say rendering because it only seems to affect what's show on the screen and not the output to the actual file.

I'm running openbox and rxvt/xterm on a custom made Yocto distribution. I log in as a normal user, start openbox, open up a terminal window (rxvt) and open a new file with vim test.txt, all looks normal; Bottom line (statusline) shows "test.txt" [New] on the left and 0,0-1 All on the right. I press I to enter insert-mode, bottom line changes to -- INSERT -- on the left and 0,1 All on the right, all good. On the left side all the empty rows begin with a ~ except the top one where the cursor is the first character.

Now, I press a key like k and the first character becomes a ~ and the cursor jumps one character to the right, but no k is visible. Also, at the bottom, there are now two lines. The top line shows -- INSERT -- on the left and 1,2test.txt + (~) on the right. The bottom line shows - VIM on the left and nothing on the right.

If I ignore the fact of this "broken rendering" and save the file and then re-open it, the file content shows up correctly with the character k being the first and only character. So it seems to be only a visual issue.

This happens when I run vim as a normal user inside rxvt/xterm. This does not happen when I run vim as normal user in say tty3 (Ctrl+Alt+F3). This does not happen when I run sudo vim or su - root and then vim, inside rxvt in openbox.

I've checked the $TERM variable inside the different environments for a possible mismatch:

  • in rxvt as normal user echo $TERM = rxvt
  • in xterm as normal user echo $TERM = xterm
  • in rxvt as root su - root then echo $TERM = rxvt
  • in xterm as root su - root then echo $TERM = xterm
  • in tty3 as normal user echo $TERM = linux
  • in tty3 as root echo $TERM = linux

I haven't made any conscious changes to any configurations but I did do a substantial update of the kernel and a lot of packages recently but I can't tell if this issue started at that time.

What/where else can I check for possible errors?

EDIT: This does not happen when I run vim inside a screen session in rxvt, as a normal user.

  • in screen as normal user echo $TERM = screen

0

You must log in to answer this question.

Browse other questions tagged .