vim 常用命令


version

  • :version : 查看一些基本信息, 例如支持的功能;
  • 如:支持中文编码需要两个特性:+multi_byte+iconv;

查找结果出现次数

  • :%s/XXXX//gn

查找不分大小写

  • /\cstr : 不分大小写查找 str

替换

  • %s#abc#123#g: 把文件中的 abc全部替换成123;(如文件内有#,可用/替换,:%s/abc/123/g ,也就是说,# 可以用别的字符替换,如:/、@ 等)
  • :addr1,addr2s/abc/123/g : 将文件中从 addr1,到addr2 的 abc,替换为123

将当前文件的部分内容另存为另一个文件

  • 末行模式 使用w命令
  • :w
  • :addr1,addr2w /path/to/somewhere
  • :addr1,addr2s/pattern//gn
  • :addr1,addr2s@pattern@newchar@gn
  • :addr1,addr2s@pattern@newchar@gi

语法高亮

  • :syntax on

显示不可见字符

  • :set invlist :即可以将不可见的字符显示出来
  • :set nolist : 可以回到正常的模式

编码

  • vim "+e ++enc=编码名称" 文件名 :以指定的编码来打开文件
  • :e ++enc=gb2312 :打开文件后发现乱码,更改编码
  • file 文件名 : 可查看文件编码;
  • :set fenc :已经使用vim 打开时,查看编码
  • :help encoding-values :列出vim 支持的所有编码
  • vim 内部使用的是 iconv 库进行编码转换;如果vim 的几个编码选项设置不一致,vim 可能会进行转换(vim 提示converted);
  • 如果在终端环境下使用vim,需要设置termencoding和终端所使用的编码一致;

编码选项

在这里插入图片描述

faq

  • 为什么在 vim 中一次只能删除半个汉字?因为encoding设置错误,把encoding设置为cp936就可以解决此问题。在Unix环境下Vim会根据locale来设置默认的encoding,如果没有正确设置locale并且没有设置encoding就会一次只能删除半个汉字。

  • vim 为什么不能输入繁体字?把euc-cn或者GB2312改为cp936就可以了。euc-cn是GB2312的别名,不支持繁体汉字。cp936是GBK的别名,是GB2312的超集,可以支持繁体汉字。

  • vim 为什么提示不能转换?因为在编译Vim时没有加入iconv选项,重新编译Vim才能解决。

  • 如何打开一个GBK编码的文件并另存为UTf-8编码?保存文件时运行命令:set fileencoding=utf-8就可以了

换行

  • :set nowrap : 不自动换行
  • :set wrap : 自动换行(默认)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值