博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gvim使用指南(学好就可下山了)
阅读量:4188 次
发布时间:2019-05-26

本文共 1509 字,大约阅读时间需要 5 分钟。

vim 使用指南

 

1. 基本的鼠标操作

   h:逐字符左移;

   l:逐字符右移;

   k:上移一行;j:下移移行;  

   ctrl + f:向前翻页; ctrl + d:向前翻半页

   ctrl + b:向后翻页; ctrl + u:向后翻半页

   gg:返回到第一行;

   ctrl + g:至最后一行

2. 文本编辑

  r:替换一个字符;

  R:进入替换模式;

  d:删除一个字符 ;  dd: 删除当前行;4dd:删除当前行开始的4行。

 u:撤销上一次操作;

  dw:删除一个字

  d^: 删除光标所在处到行首的字符

  d$: 删除光标所在处到行尾的字符

  d1g:删除当前行到第一行之间的所有行

  dg:删除当前行到最后一行之间的所有行 

  y:选中文本后,敲y,复制文本

  p:粘贴文本至光标之后

  P:粘贴文本至光标之前

  o:下方插入一行

  O:上放插入一行

  i:插入点在光标之前

  a:插入点在光标之后

  e: 刷新文件。比如打开一个仿真log,但仿真还在运行持续写入log,可通过:e命令载入新产生的log内容。

3. 文本选择 (v模式)

  v:行选中模式,通过hjkl四个键选取文本

     先敲v,然后敲入$,可选中光标所在处到行尾间的所有字符

     先敲v,然后敲入^,可选中光标所在处到行首间的所有字符

     先敲v,然后敲入g,可选中光标所在处到最后一行间的所有行

     先敲v,然后敲入1g,可选中光标所在处到第一行间的所有行

  ctrl +v:列选中模式,通过hjkl四个键选取文本

 

  在文本选中后,可对选中文本进行搜索,插入,删除等操作。

 

4. 文本搜索

  ctrl + # :启动对光标处的字的搜索。等价于 /\<wor\> 命令;

  在ctrl + #命令的基础上,若有命中多个字,则:

  3.1)按n,向上搜索;按N,向下搜索。

  3.2)v + N:选中当前光标按向下搜索找到的第一个字之间的所有字符;多次按N,则一一选中。

  或非编辑模式下敲/以进入搜索模式,然后输入需要搜索的字符,可用正则表达式。

  如 /^\s*  表示搜索行首的空格

5. 匹配替换

 非编辑模式下,敲入:进入命令模式。如:

 :%s/搜索字符的表达式/替换字符表达式/gc 

 s表示按表达式搜索,若命中,则用替换字符表达式所描述的字符进行替换

 g表示全文搜索;c表示替换需要手动确认,此时若按a,则全文自动替换,不再手动确认

 替换的几种技巧:

 5.1 仅对选中的行进行替换

 使用v模式选中文本,然后敲:进入命令模式。命令行中会自动出现以下字符:

 :'<,'>

 然后敲入替换命令,如:

 :'<,'>s/搜索字符的表达式/替换字符表达式/gc

 

 5.2 跨行替换

 可用于生成多行文本,如将“a, b, c,"分成三行

 :%s/,/,\r/gc

 注意:在“搜索字符的表达式”中行尾回车符用\n表示;在“替换字符表达式”中回车用\r表示。

 5.3 字符分组

 在“搜索字符的表达式”中用字符表达式进行分组。在“替换字符表达式”中按序,用\1表示第一个分组字符,\2表示第二个分组字符,依次类推。

 

6. 其他

1)r 路径/文件名

   读入一个文件并粘贴到当前光标之后,如:

   :r ./log/aaa.lst

2) 常用正则表达式

   [0-9]: 匹配一个数字

   [0-9]\{8}: 匹配8个阿拉伯数字,比如可匹配89008789

   [a-z]:匹配一个小写字母

   \s: 空格

   \S: 非空格

   ^: 行首;$: 行尾

   \r: 回车,产生新的一行

   \n: 回车符

  运用举例:

  [0-9]*\s:   匹配任意多个数字直到碰到一个空格

  [0-9a-f]*\s: 匹配任意多个数字的十六进制数字直到碰到一个空格

3) 重复redo

   :redo

转载地址:http://yzsoi.baihongyu.com/

你可能感兴趣的文章
换电脑了
查看>>
写代码.VS.写作
查看>>
偶的blog百篇原创留念-呵呵
查看>>
《深入Spring2》终于开始发布电子版本了
查看>>
这样的开源基金设想行得通吗?
查看>>
从山丘锤王之死谈Spring AOP中的引介(Introduction)
查看>>
有谁知道10级的山丘之王是怎么死的?
查看>>
开始学习写日记
查看>>
中国开源众生相-也谈“中国人的开源”
查看>>
Velocity脚本简明教程推荐
查看>>
空(标识)接口的重要性
查看>>
用AspectJ做的一个回合格斗小游戏
查看>>
在EasyJWeb中使用Java Excel API 处理电子表格
查看>>
在Spring中使用replaced-method来进行方法替换
查看>>
开始全心投入《深入Spring 2:轻量级J2EE开发框架原理与实践》
查看>>
使用CGLIB轻松实现延迟加载(Lazyload)
查看>>
好日子里谈开源
查看>>
超轻量级开源ORM系统EasyDBO最后一个测试版(0.9.0)发布
查看>>
让博客成为一种习惯
查看>>
EasyDBO快速上手(1)
查看>>