阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

vi/vim 编码设置

306次阅读
没有评论

共计 1604 个字符,预计需要花费 5 分钟才能阅读完成。

导读 vim 编码涉及四个概念,分别是 enc,fenc,fencs,tenc, 一般乱码多是因这些参数设置不正确引起的,要想彻底摆脱 vim 的乱码问题,还是把这四个概念理清楚了,下面详细介绍之。
VIM 的文本编码选项

encoding(简写为 enc)

enc 的全称为 encoding,这是 Vim 内部使用的编码,如 buffer,寄存器中的字符串。在 Vim 打开文本后,如果它的编码方式与它的内部编码不一致,Vim 会先把编码转换成内部编码,如果它用的编码中含有没法转换为内部编码的字符,那么这些字符就会丢失掉。默认值是系统的 locale 来决定的,比如在 windows 下一般就是 gbk 或 gb2312 的,而在 linux 下就是 utf-8。可以用命令:set enc 查看当前 vim 的 enc 是什么值,笔者的 windows 显示的是 cp936 这里的 cp936 其实相当于 gb2312,指系统的第 936 号编码格式。

fileencoding(简写为 fenc)

fenc 为当前缓冲区(当前 Vim 打开这个文件)文件自身的编码,从磁盘读文件时,Vim 会对文件编码检查,如果文件的编码与 Vim 内部编码(enc)不同,Vim 就会对文本做编码转换,将 fenc 设置为文件的编码。Vim 写文件到磁盘时,如果 enc 与 fenc 不一样,Vim 就做编码转换,转换成编码 fenc 保存文件。在 windows 下你可以借由 notepad++ 等编辑器检查文件是什么编码的。由于 fenc 是在打开文件时由 Vim 自动检测的,所以如果文章中有乱码也没法通过重新设置 fenc 来纠正,设置 fenc 只能改变文本的编码格式。

fileencodings(简写为 fencs)

这是一个字符编码的列表,编码的自动识别就是通过设置 fencs 实现的。当打开一个文件时,Vim 会按照 fencs 中编码的顺序进行解码操作,如果匹配成功就用该编码来进行解码,并把这种编码设为 fenc 的值。这里的匹配成功指的是 Vim 能正确解码,不会出错,但是不保证没有乱码,所以 fencs 编码列表的顺序设置很关键,由于 lanin1 是 iso8859-1,属于国际化的标准编码,他能表示任何字符,也就用于也不会出错,但是我们看到的可以是“乱码”。所以一般 fencs 设置的顺序是这样子的:lan1 放到最后面

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

终端使用文本编码,或者说是 Vim 用于屏幕显示时的编码,显示的时候 Vim 会把内部编码转换为屏幕编码再输出,也就是说我们从屏幕上看到的字符都是 tenc 编码的字符,如果为空,默认就是 enc。windows 平台 Gvim 会忽略掉 tenc。一般就是从一个终端远程登陆到 linux 系统时候 tenc 会起作用。

编码配置(乱码问题的解决)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""vim7.1 在 windows 下的编码设置""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
" 解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
" 解决 consle 输出乱码
language messages zh_CN.utf-8

菜单乱码只需要重新 source 一遍就好了。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1604字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7801761
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示 首先来回顾一下 10...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...