自学内容网 自学内容网

【Linux】系统字符集无法修改,单独修改vim后的文件字符集

系统字符集无法修改,单独修改vim后的文件字符集

环境:

系统字符集

root@uos:~# locale
LANG=zh_CN.gb18030
LANGUAGE=zh_CN
LC_CTYPE="zh_CN.gb18030"
LC_NUMERIC="zh_CN.gb18030"
LC_TIME="zh_CN.gb18030"
LC_COLLATE="zh_CN.gb18030"
LC_MONETARY="zh_CN.gb18030"
LC_MESSAGES="zh_CN.gb18030"
LC_PAPER="zh_CN.gb18030"
LC_NAME="zh_CN.gb18030"
LC_ADDRESS="zh_CN.gb18030"
LC_TELEPHONE="zh_CN.gb18030"
LC_MEASUREMENT="zh_CN.gb18030"
LC_IDENTIFICATION="zh_CN.gb18030"
LC_ALL=zh_CN.gb18030

执行cat命令

root@uos:~# cat test.txt 
xxx ���xxx ���� 

临时解决办法:

root@uos:~# iconv -f GBK -t UTF-8 test.txt > new_file.txt
root@uos:~# vim new_file.txt

永久解决办法:

可以通过在 .vimrc 文件中添加一些配置来实现自动检测文件编码并在使用 vi 打开文件时自动设置编码。以下是具体步骤:

  1. 打开 .vimrc 文件
    • 在终端中使用命令 vi ~/.vimrc 打开该文件。如果文件不存在,可以创建一个。
  2. 添加配置内容
    • .vimrc 文件中添加以下内容:

      " 设置文件编码自动检测
      set fileencodings=utf-8,gbk,big5,latin1
      set encoding=utf-8
      

      这些配置的作用是让 Vim 尝试自动检测多种常见的文件编码(如 UTF-8、GBK、Big5、Latin1),并将 Vim 的内部编码设置为 UTF-8。

  3. 保存并退出
    • 在 Vim 中,按下 Esc 键退出编辑模式,然后输入 :wq 保存并退出 .vimrc 文件。

    • source .vimrc 是配置文件生效

      现在,当你再次使用 vi 打开文件时,Vim 会自动检测文件编码并进行适当的设置,以尽量正确地显示文件内容。


原文地址:https://blog.csdn.net/imliuqun123/article/details/142382787

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!