随机字符在neovim缓冲区中打印

时间:2017-02-08 16:04:01

标签: character-encoding neovim terminator

我最近开始用neovim得到一个奇怪的问题,其中随机字符在我的会话中打印出来。当我在下面的插入模式下按Space时,可以复制这个。这些字符在正常模式下消失。 此外,在退出会话后,有些字符会在终端上打印出来。

Neovim-Session

我猜这个问题与字符编码有关,随机字符由于溢出而被打印,但我不确定。 如果我使用其他终端模拟器似乎没有问题(我已经尝试过使用gnome-terminal,一切似乎都运行良好)。

在我的系统中输出locale命令 -

LANG=en_IN
LANGUAGE=en_IN:en
LC_CTYPE="en_IN.UTF-8"
LC_NUMERIC="en_IN.UTF-8"
LC_TIME="en_IN.UTF-8"
LC_COLLATE="en_IN.UTF-8"
LC_MONETARY="en_IN.UTF-8"
LC_MESSAGES="en_IN.UTF-8"
LC_PAPER="en_IN.UTF-8"
LC_NAME="en_IN.UTF-8"
LC_ADDRESS="en_IN.UTF-8"
LC_TELEPHONE="en_IN.UTF-8"
LC_MEASUREMENT="en_IN.UTF-8"
LC_IDENTIFICATION="en_IN.UTF-8"
LC_ALL=en_IN.UTF-8

我目前正在使用terminator使用默认编码 - Unicode UTF-8。我的终结器配置文件可用here

我尝试过更改编码,但似乎没有解决问题。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

似乎随机字符出现是因为我在 Ubuntu 16.10 上通过ppa:neovim-ppa/unstable安装了neovim的不稳定版本。
从源代码构建稳定版本v0.1.7时,错误消失了。

答案 2 :(得分:0)

来自Neovim FAQ

  

这是您的终端模拟器中的错误。发生这种情况是因为,如果终端似乎与xterm兼容(TERM=xterm-256color),则Nvim默认会发送光标形状的术语代码。

     

要解决此问题,您可以:

     
      
  • 使用其他终端模拟器
  •   
  • 在您的Nvim配置中禁用guicursor
  •   
  :set guicursor=
  " Workaround some broken plugins which set guicursor indiscriminately.
  :autocmd OptionSet guicursor noautocmd set guicursor=
     

有关:help $TERM的推荐值,另请参见$TERM