1、跳转命令

  • ‘w'单词前进,'b'单词后退,'e'单词前进,‘ge’单词后退,存在单词词首词尾区别,'W''B''E''gE'将不以单词区分,以空格区分
  • ‘$’行尾,'^'非空白行首,'0'行首
  • ‘f’/‘F’:行内快速跳转字符(右/左),如"fa",跳转到本行光标第一个a字符处,可加前缀表次数,如"3fa",类似命令还有't'/'T'
  • "zz"光标行居屏中,"zt"居屏顶,"zb"居屏底,区别"ZZ","ZZ"用于快速到保存退出
  • "ma"用来标记光标位置为a位置,其中a可以为a~z,标记不可见,:marks查看所有标记
  • CTRL-O与CTRL-I分别为关标前位置于后位置到跳转,其中CTRL-I与tab键功能一致,:jumps查看所有跳转标记
  • G跳转至文末,gg跳转至文首

2、查找格式(正则表达式)

查找字符中,部分字符有其特殊意义

如:

  • "/^string"或"/string$"用来匹配行首或行尾为string的行,而"/^string$",则匹配仅有string构成到单行
  • '.'用来做查找中任意字符的通配符,若需要作为纯字符,则需使用"\."
  • "\>"用来匹配单词尾,"\<"则用来匹配单词头,在字符串上使用‘*’命令等同于/\<string\>,即匹配完整单词,要部分匹配,字符串上使用'g*'命令
  • 查找命令行中,'*'用来匹配任意重复个数字符,如’/a*‘匹配"a","aa","aaa"等,同时还匹配任意字符,因为其a为0个数,使用/a\+来表示至少存在1个以上'a'
  • 使用''和''组成字符项来进行'*'匹配,如/ab*
  • '\='用来匹配0或1次的重复字符,如/abb\=,则匹配"ab","abb"
  • 以上均可用指定重复次数\{n,m}来表示,如/ab\{3,5},则表示b重复为3~5的字符串"abbb","abbbb","abbbbb"
模式 匹配次数
\{,4} 0~4
\{3,} 3~无穷
\{0,1} 0或1,同\=
\{0,} 0或更多,同*
\{1,} 1或更多,同\*
\{3} 3
  • /a.*b结合以上释义,表示以a首b尾到字符串,中间为任意长
  • 查找时可使用\c选项忽略本次查找case,不受case影响,如:/\cHeLLo将忽略大小写进行查找,'n'和'N'分别用来正向或逆向查找
  • 查找中使用'\|'来进行或运算,如:/endif\|while\|for,匹配"endif","endwhile","endfor",相应的,使用'\&'进行与运算
  • []用来匹配单个字符范围,如/[a-z]表示a~z到所有字符,/[0-9a-z]则表示所有数字和所有小写字母,[]中可进行求反,如:/"[^"]*"匹配双引号所引字符串,包括双引号,其中[^"]表示除了双引号外到所有字符,*表示重复>=0,存在一些快捷约定,如:/\a即为/[a-zA-Z],可用命令/\s查找快捷约定
  • '\@='与'\@!',前者功能上等同于\&,后者功能上等同于非,即与前项不等

3、光标偏移

查找后可使光标进行偏移

如:/hello/2将在查找到的hello光标下移2行

/hello后/e+n或/b+n则光标在hello后+n或前+n位置

最新文章

  1. JavaScript代码模块化的正规方法
  2. 在ubuntu 12.04 x64下编译hadoop2.4
  3. jQuery能做些什么
  4. asp.net发送邮件
  5. 运用Mono.Ceci类库修改.NET程序集 走上破解软件的道路
  6. 【uoj150】 NOIP2015—运输计划
  7. 在VS2010 SP1基础上安装mvc3
  8. sjtu1586 Dog
  9. nodejs框架express4.x 学习--安装篇
  10. 生命周期-初识IOS
  11. Java之工厂模式
  12. [置顶] CF 86D Powerful array 分块算法入门,n*sqrt(n)
  13. php 中文切割字符串长度
  14. Freemarker页面静态化技术,activemq监听页面变动
  15. php程序员的成长之路
  16. [LeetCode] Contiguous Array 邻近数组
  17. Scyther spdl(比较准确的翻译)
  18. LESS知识总结
  19. npm 常用命令 查看版本、安装、卸载
  20. 【译】python configparser中默认值的设定

热门文章

  1. python os.system重定向stdout到变量 ,同时获取返回值
  2. webix前端架构的项目应用(项目框架为Web API+autofac+ioc+mysql+webix)
  3. E20181030-hm
  4. Multi-University板块
  5. Unity3D脚本:更改脚本和类名,且不破坏现有脚本引用的方法
  6. unity2d 动画
  7. Android DPAD not enabled in AVD
  8. Java语言和虚拟机规范下载
  9. 为GitHub项目添加协议
  10. VS2015 : error LNK1168