- 命令模式(command mode)
- 插入模式(input mode)
- 底线模式(lost line mode)
1.2 切换不同模式的按键 进入VI默认的模式command mode, 从命令模式下按“i”,”a“,“o”三个键就可进入input mode;
- i:插入,从目前光标所在之处插入;
- a:增加,目前光标所在下一个字开始输入文字;
- o:插入新的一行
图1 三种模式的相互切换
2 Command mode的操作 2.1 移动光标位置
- h:将光标向左移动一格
- l:将光标向右移动一格
- j:将光标向下移动一格
- k:将光标向上移动一格
- o:将光标移到该行的最前面
- $: 将光标移到该行的最前面
- G:将光标移到最后一行的开头
- w或W:将光标移到下一个字
- ctrl+b:将光标向前卷动一页,相当于按page up键
- Ctrl+f:将光标向文章后面移动一页,相当于按page down键
- Ctrl+u:将光标向前移动半页
- Ctrl+d:将光标向后移动半页
- ctrl+e:屏幕向下卷动一行
- Ctrl+y:屏幕向上卷动一行
- r:在command mode只要将光标停在要修改的位置,然后按r键,就可以修改一个字符
- u:按此键可以取消前一次的操作,若再按一次就可回来。
- U:还原
- ZZ:连按2次Z键,可将当前正在编辑的文件保存并结束vi。
- %:将光标移到其中一个括号,按此键来找到对应的括号。
- yy:可将光标当前所在位置的整行复制
- yw:可复制光标所在位置到整个单字结束处的字符
- P:可将复制的字粘贴在当前光标所在的位置.复制整行文字,粘贴到光标所在位的下一行
- x: 删除光标所在字符。
- X:删除光标位置前面的一个字符.
- dd :删除光标所在的列。
- ndd:若按3dd键,表示删除当前光标位置的1行与下面两行
- D:可删除一行中光标所在位置之后的所有字符
- r :修改光标所在字元,r 後接著要修正的字符。
- R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到命令模式下为止。
- s: 删除光标所在字元,并进入输入模式。
- S: 删除光标所在的列,并进入输入模式。
- a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
- A: 从光标所在列最後面的地方开始新增资料。
- i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
- I :从光标所在列的第一个非空白字元前面开始插入资料。
- o :在光标所在列下新增一列并进入输入模式。
- O: 在光标所在列上方新增一列并进入输入模式。
- Ctrl+g或G:按此组合键,则会在最下方的last line处显示光标所在位置的行数,以及文章的总行数。
- nG:n为数字,若按下20G键,则可将光标移到第20行
- :w filename 输入w filename ,将文章存入指定的文件名filename
- : wq (保存离开)
- :q (不保存离开)
- :q! (强制离开)
- :e (创建一个新文件,输入e加上指定的文件名)
- :n (在VI中载入另一个文件,可输入n在加上指定的文件名)
- :set nu命令(在文件内容每一行的前面加上行号)
- :set nonu命令(将每一行的行号取消)