1、vi的的模式
vi编辑器可以分为三种状态,分别是【命令模式】(Command mode)、【插入模式】(Insert mode)和【底行模式】(Last line mode)。
1) 命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入【插入模式】下,或者到【底行模式】。
2) 插入模式:只有在Insert mode下,才可以做文字输入,按【ESC】键可回到【命令行模式】。
3) 底行模式:将文件保存或退出vi,也可设置编辑环境,如寻找字符串、列出行号等。
在系统提示符号输入【vi】及文件名称: 如:$ vi myfile,进入vi之后是处于【命令行模式】。
2、命令行模式(command mode)功能键
1)【i】键切换进入【插入模式】,从光标当前位置开始输入文件; 【a】键进入插入模式后,从目前光标所在位置的下一个位置开始输入文字; 【o】键进入插入模式后,是插入新的一行,从行首开始输入文字。
2)【ESC】键从插入模式切换为命令行模式
3)移动光标
Ctrl + b:屏幕往“后”移动一页。
Ctrl + f:屏幕往“前”移动一页。
Ctrl + u:屏幕往“后”移动半页。
Ctrl + d:屏幕往“前”移动半页。
按「0」(数字0)移到文章的开头。
按「G」移动到文章的最后。
按「$」移动到光标所在行的“行尾”。
按「^」移动到光标所在行的“行首”
按「w」光标跳到下个字的开头
按「e」光标跳到下个字的字尾
按「b」光标回到上个字的开头
按「#」光标移到该行的第#个位置,如:5l,56l。
4)删除文字
按「x」,每按一次删除光标所在位置的“后面”一个字符。
按「#x」,「6x」表示删除光标所在位置的“后面”6个字符。
按「X」,(大写X)每按一次删除光标所在位置的“前面”一个字符。
按「#X」,「20X」表示删除光标所在位置的“前面”20个字符。
按「dd」,删除光标所在行。
按「#dd」,从光标所在行开始删除#行
5)复制
按「yw」将光标所在之处到字尾的字符复制到缓冲区中。
按「#yw」复制#个字到缓冲区
按「yy」复制光标所在行到缓冲区。
按「#yy」,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
按「p」将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6)替换
按「r」替换光标所在处的字符。
按「R」替换光标所到之处的字符,直到按下「ESC」键为止。
7)回复上一次操作
按「u」如果误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8)更改
按「cw」更改光标所在处的字到字尾处
按「c#w」例如,「c3w」表示更改3个字
9)跳至指定的行
按「ctrl」+「g」列出光标所在行的行号。
按「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
3、底行模式(last line mode)功能键
1) 列出行号
「set nu」:在文件中的每一行前面列出行号。
2) 跳到文件中的某一行
冒号【:】后输入数字,再按回车键则跳到该行
3) 查找字符
「/关键字」:先按「/」键,输入寻找的字符
「?关键字」:先按「?」键,输入寻找的字符
4) 保存文件
「w」:保存文件。 $w myfilename
5) 离开vi
「q」:退出,q!可强制不存盘退出vi。
「qw」:退出并保存文件。