vi使用小结
一:定位
?????? 1.nG 直接定位到第G行
?????? 2.GG 定位到第一行
?????? 3:G?? 定位到最后一行
?
?????? 4.h?? 向左移一位
?????? 5.l??? 向右移一位
?????? 6.j??? 向下移一行
?????? 7.k?? 向上移一行
?
二:编辑
?????? 1.删除一个单词
??????????? dw
?????? 2.删除一行
??????????? dd
?????? 3.向下删除N行
??????????? dNd
?????? 4.向上删除到第N行
??????????? ND
? ? ? ?5.删到第N行
? ?dNG
? ? ? ?6.删到最后一行
? ?dG
?????? 7.删除一个字符
???????????? x
?
?????? 8.插入一行
?? ? ? ? ? ? o? 在当前行插入下一行
? ? ? ? ? ?? O? 在当前行插入上一行
?
?????? 9.复制一行
???????????? yy
?????? 10.复制从当前行向下的N行
???????????? yNy
?????? 11.粘贴复制的行
???????????? p
?
?????? 12.合并行
??????????? J???? 合并两行
?????????? NG??? 合并以下N行
?
三:查找
?????? 1.向下查找
???????????? /查找内容
?
?????? 2.向上查找
??????????? ?查找内容
四:替换
? ?? N,M s /被替换内容(可以是正则表达式)/替换内容/修饰符
?
注:1.N,M 表示把第N行到M行之间匹配的内容进行替换,要想从第一行,到最后一行,可用 1,$(表示最后一行),还可以用%(表示所有行)
??? 2.修饰符可要可不要,常用的是g,表示全行匹配,如果是一个数字N,表示把第N个匹配的进行替换
?
五:其它
经常会遇到这种情况,在windows下写的脚本,copy代码会在linux下无法执行,错误就是:
: bad interpreter: No such file or directory
1 原因
这通常都是由于windows下对文本文件的保存格式与unix下不同造成的,windows下回车的字符是’\r\n’,而linux下是’\n’。
2 解决方法
vi file
在命令模式下,输入 set ff=?
查看文件格式为dos或者unix
set ff=unix
w
保存,即可。