Vim 编辑器中底线命令模式

2016-08-31 0 By admin

Vim 编辑器中底线命令模式中显示行号、查找、替换、简单排版和自动注解和缩进。

一、显示行号

  1. :set nu(mber)   显示行号
  2. :set nonu   取消显示行号
  3. :set nu!   取消显示行号

二、查找

2.1、查找字符串 string

  1. /string   从光标处开始向下开始查找字符串string;按n(小写)查找下一个,按N(大写)查找上一个
  2. ?string   从光标处开始向上开始查找字符从string;按n(小写)查找上一个,按N(大写)查找下一个

2.2、查找光标下的单词

  1. *   向下完整匹配光标下的单词
  2. #   向上完整匹配光标下的单词
  3. g*   向下部分匹配光标下的单词
  4. g#   向上部分匹配光标下到单词

2.3、查找:特殊设置

  1. :set ic   查找时,忽略大小写
  2. :set noic   取消查找时忽略大小写
  3. :f string (小写f与string有空格)  搜索一行中匹配到的string

三、替换

:{作用范围}s/{目标}/{替换}/{替换标志}
作用范围:没有指定范围,则作用于当前行。

  1. :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换;
  2. :10s/from/to/ 表示只在第10行搜索替换;
  3. :%s/from/to/ 表示在所有行中搜索替换;
  4. :1,$s/from/to/ 同上。

3.1、替换标记

  1. c confirm,每次替换前询问;
  2. e error, 不显示错误;
  3. g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
  4. i ignore,忽略大小写。

这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问。

3.2、示例

:%s/old/new/g 全文将old替换为new,不提示
:n1,n2s/old/new/c n1-n2行中,将old替换为new,提示是否替换
PS:在替换文本old或new中有/字符时,需要用\进行转义。

四、保存文件

  1. :w (小写)保存文件
  2. ?:wq (小写)保存并退出vim
  3. :w 文件名1 将文件另存为文件名1
  4. :ZZ (大写)保存文件并退出,相当于:wq
  5. :wq! (小写)文件所有者强制保存只读文件,如果不是文件所有者进行此操作,不能成功
  6. :q! 退出不保存文件

五、浏览目录

  1. :e 目录(列出指定目录下的文件和目录)

六、导入文件或shell命令执行结果

  1. :r   文件名1 将文件1内容引入到本文件中
  2. :!shell命令   在vim中执行shell命令,执行完后按回车会到vim界面
  3. :r !shell命令   (r与!之间有空格)将shell命令执行的结果导入到本文件中

七、简单排版

  1. :ce(nter)   居中显示光标所在行
  2. :ri(ght)   靠右显示光标所在行
  3. :le(ft)   靠左显示光标所在行

八、自动注释和缩进

  1. 关闭自动注释::set fo-=r
  2. 关闭自动缩进(这个对C/C++代码好像无效) ::set noautoindent
  3. 关闭C语言缩进 ::set nocindent
  4. 环境恢复 ::set fo=r :set autoindent :set cindent