linux vi编辑器的使用

  最近需要在linux上开发shell脚本,对linux vi编辑器的使用方法进行了一些总结。

1、启动VI
vi filename
如果文件存在,打开并显示内容;如果文件不存在,在第一次保存时创建新文件。

2、VI的三种模式:
1)命令模式,移动光标,修改、删除、复制、搜索
2)插入模式,通过aio进入,可以修改文件内容
3)搜索内容,通过:进入,可以退出、保存、查找替换

3、移动光标
1)h,j,k,l 左下上右,或者使用方向键
2)单词移动 w下一个单词 b上一个单词
3)句子移动 (上一个句子 )下一个句子
4)段落移动 {上一个段落 }下一个段落

4、命令模式下的修改、删除、复制

  Change Delete Yank(copy)
Line cc dd yy
Word cw dw yw
Letter cl dl yl

 

5、撤销操作
u 撤销最后一次的修改
ctrl+r 取消最后一次的撤销

U 撤销所有的修改


6、查找操作
1)/text 向后搜索
2)?text 向前搜索
3)n 搜索下一个同样的内容

7、粘贴操作
1)用p粘贴复制、修改或删除的数据
2)对于行,p粘贴在行上,P粘贴在行下
3)对于字符,p粘贴在字符右侧,P粘贴在字符左侧

8、命令模式下的一些技巧
1)dtc 删除从光标到c之间的所有字符
2)rc 将光标下的字符替换为c
3)dw 删除游标处所在的单词
4)5dd 删除5行数据
5)5yy 复制5行数据
6)5x 删除5个字符
7)R 进入替换状态,esc退出

9、扩展模式下的保存、退出
:w 保存
:q 退出
:wq 保存
:w! 强制保存
:q! 强制退出

10、文件内定位
1)G 跳转到文件的最后一行
2)1G 跳转到文件的第一行
3)ctrl d 往下滚动半屏
4)ctrl u 往上滚动半屏

11、屏幕定位
1)H 跳转到本屏的第一行
2)M 跳转到本屏的中间一行
3)L 跳转到本屏的最后一行
4)z+Enter 使当前的行成为屏幕显示的第一行
5)z-使当前行成为屏幕的最后一行


12、查找并批量替换
1)通过sed查找 :s/i/-/g
2)默认对当前行进行查找
3):1,10 对1-10行进行查找 :1,10s/i/-/g
4):1,$ 对整个文件查找 :1,$s/i/-/g

13、读取和保存
1):r file 将另外一个file的内容读入到当前文件
2):1,20 w file 将1-20行的内容写入到一个新的file中
3):1,$ w file 将整个文件写入一个新的file中
4):1,20 w >>file 将1-20行数据追加到file中

14、设置
1):set 显示常用的配置选项
2):set all 显示所有的配置选项
3):set number 设置行号

原文地址:https://www.cnblogs.com/legend-123/p/9545259.html