接上文,跨平台的开源软件 Vim 和 wxMEdit 是我用过的两个最擅长处理编码问题的文本编辑器。
上文说了 wxMEdit
http://wxmedit.github.io/zh_CN/
接下来再看 Vim
Vim 是什么
Vim是世界上公认的第二大文本编辑器(第一大是 GNU Emacs;似有“Emacs 是神的编辑器、Vim 是编辑器之神”之说)。很多人会觉得 vim 很不易用,这其中也有一定的误解。
首先需要弄清楚的是 vim 不是 vi。如今的 vim 是 Vi IMproved 的缩写,相对原始 vi 做了相当多的改善,原本 vi 的功能只占它现有功能很少的一部分。
Vim 易用性
Vim 并不像想象中的那么难用,不习惯用“h、j、k、l”移动光标,完全可以用上下左右,甚至 home、end、page up、page down。
如果在 Windows 上安装 vim,按照默认设置,它会生成一个“gVim Easy”,它看起来更像是功能加强版的记事本,可以使用 Ctrl-C、Ctrl-V、Ctrl-Z、Ctrl-A 这些快捷键,也会有菜单、右键菜单、工具栏。 Windows 版 gVim 默认配置也支持这些,差别是默认是普通模式而不是插入模式。
当然要想用到 vim 更多强大功能就需要了解它的普通模式、命令模式乃至可视模式和选择模式了。这样就的确需要了解一定量的命令技巧才行。
Vim 编码识别
Vim 的编码识别是基于配置的,未配置或者按照默认配置可能效果很差,这就是我们用 vim 打开一个常看到一堆乱码的原因之一(另外的原因是上面部分 linux 系统安装的是精简版的 vim,不支持相关特性)。
如果针对特定环境配置得当,它的编码识别准确率甚至高于 universal-chardet(firefox 的编码识别部分,MadEdit 也用它识别编码的,wxMEdit 改用 ICU)、enca(一个自动编码识别工具)。例如用下列设置:
set fencs=us-ascii,ucs-bom,utf-8,gbk,gb18030,big5,latin1
去识别简体中文为主有少量繁体中文代码的编码比 universal-chardet、enca 都要精准。这里 fencs 设置只是为了说明编码识别举例,一般很少会单独识别 us-ascii,参见我的 vimrc。
如果仍然识别错了,还可以手动指定编码,例如
echo "0: 32 30 30 30 96 32 30 34 39" | xxd -g1 -r > test.txt vim test.txt
如果 fencs 用上面的设定,这时 vim 会识别编码为 latin1(即 ISO-8859-1),查询 vim 识别到的编码用
:set fenc?
问号可以省略。
但是其中字符 '\x96' 在 ISO-8859-1 中未定义(未定义字符 vim 会用蓝色显示其编码值),可以人为判断它是 windows-1252 编码(可显字符是 latin1 的超集)的。可通过下面命令手动指定为 windows-1252 编码。
:e ++enc=cp1252
相关推荐
普通人的编辑利器——VIM_(for_windows)
VIM(Vi IMproved)是Linux世界中广受欢迎的文本编辑器,对于程序员来说,它不仅是一个工具,更是一种高效的工作方式。这篇文章将深入探讨VIM的使用技巧和重要概念,帮助你提升编辑效率。 首先,VIM的操作模式是其...
**文本编辑器推荐:VIM** VIM,全称Vi IMproved,是Vi编辑器的增强版,是一款功能强大的文本编辑器,广泛应用于Linux、Unix等操作系统中,也支持Windows平台。VIM的设计理念是高效且高度可定制,使得它在程序员和...
在Linux世界中,文本编辑器VI(Vim Improved)是一个不可或缺的工具,尤其对于初学者而言,掌握它的基本操作是入门Linux系统的关键步骤。VI是一个强大的命令行文本编辑器,以其高效、灵活和功能强大而著称。在这个...
05.1 文本编辑器Vim-Vim常用操作.mp4 05.2 文本编辑器Vim-Vim使用技巧.mp4
Vim的操作,实例讲解,操作文本的详细介绍
windows下的vi编辑器,不需要其他dll之类,单文件就可以在windows下面执行,喜欢在linux下用vi的有福了,这个是我找了很久才找到的,现在新版的vim在Windows下面都需要其它文件才能运行
vim配置文件——vim配置教程
【标题】:“一个仿vim的文本编辑器” 在IT领域,文本编辑器是开发者们日常工作中不可或缺的工具,它们用于创建、查看和修改各种类型的文本文件。Vim(Vi Improved)是一个高度可定制且功能强大的命令行文本编辑器...
作为一款高度可配置的编辑器,Vim深受程序员和系统管理员的喜爱,被誉为最优秀的文本编辑器之一。 1. **历史与特性** Vim起源于1976年的Vi(Visual Editor),由Bill Joy为Unix系统开发。Vim在Vi的基础上进行了...
# 基于C/C++语言的简易vim编辑器 仿vim编辑器 1. 编辑器下有normal和insert两种模式。默认为normal模式,按i键进入insert模式,按esc退出insert模式。 2. normal模式下按 h j k l键向左上下右移动光标。 3. normal...
Vim,全称Vi IMproved,是一款强大的文本编辑器,尤其在编程和代码编辑方面表现出色。它以其高度可定制化、高效的操作方式以及丰富的插件系统,深受程序员和算法工程师的喜爱。 首先,Vim提供了高效的文本操作命令...
**vi与vim文本编辑器详解** vi(Visual Editor)是一个基于命令行的文本编辑器,最初在1976年由Bill Joy为Unix系统编写。它的全称是“Visual Interface”,但在许多现代Linux和Unix-like系统中,vi已被其增强版vim...
Vim文本编辑器,全称为“Vi Improved”,是一款强大的、高度可配置的文本编辑器,被誉为程序员和系统管理员的最佳工具之一。它起源于最初的Vi编辑器,由 Bram Moolenaar 在1991年基于Bill Joy的Vi开发,经过多年的...
算法工程师的效率神器——vim篇.pdf
"Linux文本编辑器Vim的使用和应用" Linux文本编辑器Vim是一个功能丰富且强大的文本编辑器,被广泛用于Linux系统。它是Vi的增强版本,提供了更多的功能和改进,同时可以通过插件扩展其功能。Vim提供了三种模式:命令...
windows下的vim文本编辑器,本人已将vim程序和vim运行时环境整合到了一起,下载解压后,点击install即可安装。然后添加环境变量到path。位置为当前解压的路径如:d:\vim732\vim。然后再ms_dos下敲入vim即可使用,比...