openSUSE 自带的 VIM 打开 txt 显示的中文全部是乱码

用 VIM 打开之前在盗版 win7 上创建的 txt 文件,发现中文全部乱码,但在图形界面用 kate 打开同一个文件中文正常显示。
我的 VIM 本身可以输入中文,新建文件输入中文再保存退出,用 VIM 打开后中文正常显示。
在打开中文乱码的文件里输入中文,保存退出后发现多了三个同名不同后缀的文件,并且打开后刚才用 VIM 输入的中文全部变成问号。

原文件名:软件下载 (包括 galgame).txt

在乱码 txt 中输入中文后按 wq 保存退出后蹦出来的三个文件:软件下载 (包括 galgame).txy~
软件下载 (包括 galgame).txt~ 软件下载 (包括 galgame).txz~

之前把 windows7 虚拟机里的 txt 保存到真实系统 (记得是 win7 或者 win10) 里也发生过双击打开中文显示乱码,只能在创建它的 win7 虚拟机里正常显示,不知道这两种情况是同样的原因不。

VIM 打开这个文件后的部分显示:

Èí¼þÏÂÔØ

https://cn.uptodown.com/¸÷ÖÖÈí¼þ

https://msdn.itellyou.cn/ (windowsϵͳÏÂÔØ£©

                          ¡¾ÓÎÏ·¡¿¡«

https://ccr39.love/ lazynest²©¿Í

https://rosmontis.com/galgame ÃÔµüÏã

https://steamzg.com/ Сߴ×ÊÔ´£¨°¢Àï°Ù¶ÈÍøÅÌÏÂÔØ£©

https://lzacg.one/ Á¿×Óacg£¨google+ÓÎÏ·Ãû£©

https://pgalgame.com/ ƤƤ<91>Ù<90>Ûß[<91>ò

https://www.2dfan.com/ (2DFan)

https://www.tianshie.com/ ¶þ´ÎÔªÌìʹ

https://blog.h2aoi.top/ £¨Ç⻯¿ûh2aoi£©

https://ÐÓÁå.top (https://杏铃.top/)/
https://g.ÐÓÁå.top/(Éç<85>^£¿£©

https://pgalgame.com/ (ºÃÏñ¶¼ÊǰٶȾW±PÏÂÝd£©

ʧÂäСվ

̨Íå×ÛºÏÂÛ̳

¹ÊÏç¶àÃ×ÄÈ
18Tg£¬lipi

kate 打开同一个文件的显示:

软件下载

https://cn.uptodown.com/各种软件

https://msdn.itellyou.cn/ (windows 系统下载)

                         【游戏】~

https://ccr39.love/ lazynest 博客

https://rosmontis.com/galgame 迷迭香

https://steamzg.com/ 小叽资源(阿里百度网盘下载)

https://lzacg.one/ 量子 acg(google+ 游戏名)

https://pgalgame.com/ 皮皮戀愛遊戲

https://www.2dfan.com/ (2DFan)

https://www.tianshie.com/ 二次元天使

https://blog.h2aoi.top/ (氢化葵 h2aoi)

https://杏铃.top (https://杏铃.top/)/
https://g.杏铃.top/(社區?)

https://pgalgame.com/ (好像都是百度網盤下載)

失落小站

台湾综合论坛

一般来说 VIM 出问题,都会贴 VIMrc 出来大家才好分析。

主要是看看 vim 里面 fileencodings 这一段。

像我的 vimrc 里面的写的就是这样,目前还没碰到乱码的问题。

set fileencodings=ucs-bom,utf-8,cp936,gb18030,gbk,gb2312,big5,euc-jp,euc-kr,latin1

另外 kate 打开文件后,右下角应该是有文件编码的,这个也需要提供才好分析。

编码问题啦。需要根据情况设置一下。

我找不到 VIMrc 在哪里,网上有的说在主文件夹,有的说在 vim 里用 echo $HOME,有的说 echo $VIM 可以知道在哪里,但是我找了全都没有 vimrc 这玩意,kate 右下角截图:
Screenshot_20240214_225852

你这个是 GBK 编码。需要设置一下 fileencodings,上边已经有人说了。

vimrc 在 ~/.vim/vimrc。不存在的话创建即可。(记得在开头加句 source $VIMRUNTIME/defaults.vim。)

1赞

感谢各位大佬,已经成功解决了

在 gVIM 中输入命令:version,或者在终端中启动VIM --version,会显示 VIMrc 的位置——显示不全就敲空格多显示几行。

嗯,这里显示的应该是 VIM“允许” 你放置 vimrc 的几个位置,而不是实际它使用的 vimrc 的位置。

我不知道如何查看 vim 启动后它具体使用的是哪个 vimrc 文件,可能 vim 会按照优先级依次读取多个 vimrc 中的设置吧。

优先级好像是 “ 用户〉第二用户〉系统”。

:h $MYVIMRC