熟悉vi的三种模式及模式切换命令
命令行模式
*用户在vi编辑文件时,最初进入的为该模式,可以进行复制、粘贴等操作
插入模式
*进行文件编辑,按ESC键可以回到命令行模式
底行模式
*光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等
*:r head. h
vi模式切换命令
1.a 进入编辑状态,从当前光标的后一位开始插入键盘输入的字符
*光标自动跳转到下一个位置
*A光标直接跳转到本行字符的结尾
2.i 进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符
*光标仍停留在原位置
*I(大写)光标直接跳转到本行字符的开头
3.o 进入编辑状态,并插入一新行,光标移到该新行的行首
*该新行产生于光标所在原行的下一行
*O在原行的上一行产生新行
4.ESC 进入命令状态
5.:!Command 在vi中执行外部命令Command按回车键可以返回vi继续工作
6.:!pwd 查询vi位置
熟练使用vi的拷贝和粘贴命令行
1.[N]x 删除从光标位置开始的连续N个字符被剪切
2.[N]dd 删除从光标位置开始的连续N行背剪切
*7dd 一次剪切七行
3.[N]yy 从光标位置开始的连续N行被复制
*7yy 一次复制七行
4.p或P 粘贴
5.u 取消上一步操作
熟练使用vi的保存和退出命令
1.:q 退出没有修改的文件(若文件被修改了而没有保存则此命令无效)
2.:q! 强制退出且不保存修改过的部分
3.:w 保存文件但不退出
4.:x 保存并退出。相当于:wq
5.:w File 另存为File给出的文件名,不退出
6.:r File读入File指定的文件内容插入到光标位置
**命令都要在命令行模式输入
**vi test.c(test.c若存在则直接打开,若不存在则新建一个test.c文件并打开)
熟练使用vi的光标命令
1.h 光标左移
2.j 光标下移
3.k 光标上移
4.l 光标右移
5.:N 移动光标到第N行
*:10 移动光标到第10行
6.1G 移动光标到文件的第一行
7.G 移动光标到文件的最后一行
8:set nu 设置显示行号
9:set nonu 取消显示行号
熟练使用vi的查找命令
/string 查找字符串
**/printf 查找printf
1.n 继续查找(向下找)
2.N 反向继续查找(向上找)
3.支持正则表达式比如:/^the
熟练使用vi的替换命令
1.:s/str1/str2/
*当前行把str1替换成str2
*:范围 s(替换)/old/new/
2.:., $ s/str1/str2/g
*当前行到最后一行把str1替换成str2
3. :1, $ s/str1/str2/g
*第一行到最后一行把str1替换成str2
4. :% s/str1/str2/g
*全文替换
**g代表全部替换
熟练使用vi的复制和剪切命令
1.y0 将光标至行首的字符拷入剪贴板
2.y$ 将光标至行尾的字符拷入剪贴板
3.d0 将光标至行首的字符剪切入剪贴板
4.d$ 将光标至行尾的字符剪切入剪贴板
5.range y 块复制
6.range d 块剪切