vim使用备忘

来源:互联网 发布:数据清洗工具 编辑:程序博客网 时间:2024/05/18 10:37

vim常用命令

命令 作用 :set number 回车 显示行号 :1d 删除第一行 :u 撤销 :r 重做 :%s/^”//g 删除每行行首的”号 :%s/”/#/g 将双引号 ‘”’ 替换为 ‘#’ :11,20s/^/#/g 将第11行至20行注释掉,(操作完成后可能会有黄色底色,使用:noh取消黄色底色(highlight)) :%s/(#.*$)/\n\1/g 在每行的中间插入,使用分组来引用原来的文字 :747,764s/^\d{3}(.*)$/\1/g 把第747行至762行前面的数字删除(在这里是因为拷贝导致前面带了数字,只需要删除数字,后面的代码要保留,在替换里面使用了组来代替,回头有更好的处理方式再来补充。)

vim中的剪切复制粘贴

首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了。
对于复制命令,和剪切命令大体相似,就是把相应的d换成y即可:
至于粘贴命令最简单,在需要粘贴的光标处按下p即可。

yy:复制当前行
nyy:n表示大于1的数字,复制n行

vim中的删除

删除行

  按ESC键退出编辑后,按 “: 起始行号,结束行号d回车”即可删除,示例:

:1,19d      #删除第1到19行

列模式下的删除

按ESC键退出编辑;
将光标定位子想要删除的起始列;
ctrl+v进入列编辑模式;
移动光标至结束列;
按d键删除(注意不是delete键哦);
  注意克服windows下的一些习惯,用光标而不是鼠标,按d字母按键而不是delete键

(直接通过移动光标选中,对列不对齐时,可能比较长的行,无法全部选中,尤其是需要一直删除到行末,按end可直接到达,在列不对齐情况下也可将内容全部选择)

批量注释

插入注释:

1).用v进入virtual模式
2).用上下键选中需要注释的行数
3).按Control+v(win下面ctrl+q)进入列模式
4).按大写“I”进入插入模式,输入注释符“#”或者是”//”,然后立刻按下ESC(两下)

一些正则表达式的相关应用

替换[ -z ${variable} ][ -z “${variable}” ]

:s/\(-z\s\+\)\(\${.\+}\)/\1"\2"/ 

在本例中需要注意的是实际上行是这样的:

[ -z  ${host} ] || echo ${host}

在匹配的时候* 贪婪匹配,所以会变成

[ -z  "${host} ] || echo ${host}"

所以要修改一下:

:s/\(-z\s\+\)\(\${.\{-1,}}\)/\1"\2"/ 

这样的结果就是想要的了:

[ -z  "${host}" ] || echo ${host}

查找下一个,然后替换

 :s/pattern/replacestr/回车    #在这里,从当前行开始查找,如果当前行匹配,则替换,否则报找不到pattern的错误 /回车                  #查找下一个匹配行 &                     #替换
标示符 说明 数字 行号 . 当前行 $ 文件的最后一行 % 整个文件,与1,$相同 ‘t 标记t /pattern[/] pattern的下一个匹配行 ?pattern[?] pattern的上一个匹配行 \/ 最近一个搜索pattern的下一个匹配行 \? 最近一个搜索pattern的上一个匹配行 \& 最近一个替换pattern的下一个匹配行

如果没有指定行,操作只针对当前行。

关于vim复制剪贴粘贴命令的总结
VIM中的正则表达式

【Linux】Vim编辑器-批量注释与反注释

原创粉丝点击