在 tmux 会话中在 vim 中打开打字稿文件时出现重复字符

问题描述

My code editor bug

背景

我使用我的工作服务器 (ubuntu 16.04) 作为我的编码环境。每当我打开打字稿文件 (.ts) 时,都会遇到一个奇怪的渲染问题,这让我很难编写代码。查看上图,变量名称中(错误地)有两个 c一个字符 a 缺失。

可能是什么问题?

预期代码 - const storeData = ...

当前显示 - cconst storeDat = ...

我的设置

  • 服务器 - Ubuntu 16.04
  • Tmux - tmux next-3.3
  • Vim - 8.2.1767

当我在终端(不是在 tmux 会话中)打开文件时,它呈现得很好

enter image description here

我的尝试

  • 对我来说唯一有意义的是设置 tmux 颜色,我在 ~/.tmux.conf 中这样做了:

    set -g default-terminal "screen-256color"
    

解决方法

在查看 2 个图像之间的差异后,我怀疑这可能是因为不受支持的 b'yadayada' 问题。所以我遇到了 this question 建议设置环境变量:

utf-8

结果我没有export LC_ALL=en_IN.UTF-8 export LANG=en_IN.UTF-8 语言包,所以我得到了this issue

UTF-8

为了解决这个问题,我按照答案中的建议安装了语言包:

warning: Setting locale failed.

现在主要问题已解决!我不再看到原始问题中发布的错误显示。


注意 - 在强制 sudo apt-get install language-pack-en 进入 tmux 之前,请确保备份您的 tmux 会话。在执行这些步骤时,我丢失了所有现有的 tmux 会话,并且无法连接到它们。我收到以下错误:

utf-8

为了解决这个问题,我不得不停止 tmux 服务器,然后重新创建以前存在的会话。

open terminal failed: can't find terminfo database