在使用 Vim 时遇到了首行乱码形如"+q436f+q6b75+q6b64",错误的乱码“掩盖”了正确的内容,却不会覆盖正确的内容,但能够导致首行的内容无法被查看,解决这项问题的方法是在 ".vimrc" 文件中添加 "set t_RV=" 确保 Vim 能够显示正确的内容。


问题复现

在我的 Linux 虚拟机 (WSL) 上运行 Vim 时总会在第一行出现一行乱码,在多次重装 Vim 无果后,终于在 Github 的 Hyper 项目上找到答案

# 我的配置

系统 Vim Shell
Ubuntu 18.04 LTS Vim 8.0 zsh with oh-my-zsh

目前已知的其他系统可能会存在相同的 Vim 问题:
OS X 10.12 (Sierra)
Arch Linux

WSL 上使用 Vim 后 (无论是否打开文件),第一行会出现一行显示乱码,亦或称为Broken first line rendering in VIM (引用自 Github issues)
vim with render issues
形如+q436f+q6b75+q6b64这种乱码仅能通过Ctrl + L消除。


解决方案

在 Terminal 内编辑 .vimrc 文件,并添加set t_RV=

# wushuo @ DESKTOP-91UDQ1D in ~ [19:29:21] C:1
$ vim ~/.vimrc
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fencs=utf-8,gbk

### 设置下面这条的配置哦
set t_RV=
### 设置上面这条的配置哦

call plug#begin('~/.vim/plugged')
Plug 'dense-analysis/ale'
call plug#end()         

再次打开 Vim,发现首行的渲染错误已经消失了。


引用资料

Hyper 项目下的 Github issues
Broken first line rendering in VIM (parseUntilStringTerminator_ aborts) #1037


一点点想说的话

一篇博客读起来的时间很短,特定内容的博客受众面少,写起来却异常花费时间。
驱使我写博客的目的是我能够静下心来思考,文字想要精炼,磨难也要经历。临近期末考试和四级考试,博客终于被捡起来写了一篇,维护了一下两个托管在 Github 上的静态站点,如果有时间,还能趁机打开一下 Gittalk 评论 (虽然我知道我的博客无人评论)。

在北林的大二半年,过的很累,也并不充实,前几周看了 linghao 的博客,发现自己消磨在不必要的事物上的时间太多了。来北京高铁上的写了一半的博客一直搁浅了,卸了知乎,闲来刷刷推特。看着手机的使用时间记录后,推特确实比知乎对时间和思维消耗比知乎少太多了。

电子系明显比车辆系卷太多了,课程难且不说,精力的消耗难以避免,老师们似乎都沉浸在:“这门课这么难,我教的不错,很有深度,所以学生们收获许多”的幸福里。而我感到的只有 Push 。抛开一小部分做硬件的同学来说,学这么多门知识杂碎,耗费精力极高的高难度课程,是将试错成本拉低许多。一本 CSAPP 或是 一本 Algorithm 的时间就被浪费在”这门课好难,我要挂科了,得好好学习刷题“的时间里了。

或许是我的时间没有被好好利用,又或许是电子系本身就要天天熬夜刷题才能通过,我对数电,模电和电分真的没什么感觉。相反,RustApple GSX 认证 已经被我加入了提醒事项。我只想做个平凡人,或许平庸人也适合我。

博客还得坚持写,英语也得坚持学,考试也得去考考。

写于
模电考试前两天/四级考试前四天
北京林业大学 学12号楼