Vi/Vim 使用小窍门集锦

在这里插入图片描述

Vim/Vi 基本上是 *nix 世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和 Emacs 比起来,Vim 更加有亲和力。用起来很舒服。

今天就记录一个困扰了我很久的问题。

执行搜索命令后,如何取消高亮

大家应该都知道,在 Vi 里面如果要搜索某个关键字,只要键入 /xxx 就可以了,比如,我要搜索一个函数,我就键入

/snprintf

然后回车,一个文件中,所有出现这个字样的地方都会被高亮显示。按 n 键,就可以自动把光标跳到下一个,p 可以跳到上一个。

在这里插入图片描述

但是,搜索结束后,怎么消除高亮呢,我以前一直不知道,弄得自己也很无奈。

终于在网上看到,只要键入

:noh

这个命令,也可以写成 nohls,其本质意思是 no highlight search 的意思。你记住了么?

用 Vim 打开文本文件后,中文乱码

我经常下载 txt 格式电子书,但是在 Mac OS 上,下载的电子书经常双击打开就是乱码。这时候,我会用 Vim 打开。如下图的样子:

在这里插入图片描述
这个时候,我们可以猜测,这个个乱码有可能是 Windows 常见的那种 GB2312 编码格式,在 Mac 上打开,就会呈现乱码。怎么才能转换过来呢?记住这个魔法指令:

:e ++enc=cp936

这个 Vim 命令 :e ++enc=cp936 用于在 Vim 中重新加载当前编辑的文件,并指定文件的编码为 cp936。命令的各个部分含义如下:

  • :e: 这是 :edit 命令的缩写,用于打开文件进行编辑。如果不带任何文件名,:e:edit 会重新加载当前正在编辑的文件。
  • ++enc=cp936: 这部分指定了在加载文件时使用的编码。++ 是一个选项前缀,用来指定紧随其后的选项(在这种情况下是 enc,即 encoding 的缩写,表示编码)。cp936 是一种字符编码,广泛用于简体中文 Windows 环境中,也被称为 GBK 编码。它是一种用于汉字的扩展字符集,可以表示简体中文中的字符以及多种符号。

使用这个命令的场景通常是当你打开一个文件,并发现里面的文字因为编码问题显示为乱码时。通过使用 :e ++enc=cp936 命令,你可以指定 Vim 以 cp936(GBK)编码重新加载当前文件,这样文件中的简体中文字符就能正确显示,而不是显示为乱码。

执行完命令之后,我们可以看到:

在这里插入图片描述
注意看,状态栏里的编码提示,已经从 latin1 变成了 cp936,说明我们猜测是正确的,文件已经恢复了不再是乱码了。

请注意,这个命令只影响当前文件的加载方式,不会改变文件的实际编码。如果你想要保存文件并更改其编码,可以使用 :set fileencoding=编码名称 命令,然后保存文件。例如,:set fileencoding=utf-8 会将文件编码设置为 UTF-8,然后你可以用 :w 命令保存更改。

修改文件编码格式的命令可以这么写:

:set fenc=utf-8

为了增加文件的兼容性,可以被 Mac 系统识别,还可以给文件增加 BOM 头:

:set bomb

然后,我们在 Finder 下,选中文件,按空格,就可以正常预览了。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Charles@TechBlog

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值