命令行模式(command mode)功能键
插入模式
- 按
i切换进入插入模式insert mode,按i进入插入模式后是从光标当前位置开始输入文件; - 按
a进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字; - 按
o进入插入模式后,是插入新的一行,从行首开始输入文字。
移动光标
vi可以直接用键盘上的光标来上下左右移动。
h:左移光标一个字符l:右移光标一个字符k:光标上移一行j:光标下移一行0或:1或gg:移到文章的开头。G:移动到文章的最后。$:移动到光标所在行的行尾。^:移动到光标所在行的行首w:光标跳到下个字的开头e:光标跳到下个字的字尾b:光标回到上个字的开头#l:光标移到该行的第#个位置,如:5l,56l。ctrl+b:屏幕往后移动一页。ctrl+f:屏幕往前移动一页。ctrl+u:屏幕往后移动半页。ctrl+d:屏幕往前移动半页。
删除文字
x:每按一次,删除光标所在位置的后面一个字符。
#x:例如,6x表示删除光标所在位置的后面6个字符。
X:大写的X,每按一次,删除光标所在位置的前面一个字符。
#X:例如,20X表示删除光标所在位置的前面20个字符。
dd:删除光标所在行。
#dd或d#:从光标所在行开始删除#行
复制
yw:将光标所在之处到字尾的字符复制到缓冲区中。#yw:复制#个字到缓冲区yy:复制光标所在行到缓冲区。#yy:例如,6yy表示拷贝从光标所在的该行往下数6行文字。p:将缓冲区内的字符贴到光标所在位置。注意:所有与y有关的复制命令都必须与p配合才能完成复制与粘贴功能。
替换
r:替换光标所在处的字符。R:替换光标所到之处的字符,直到按下ESC键为止。
恢复/撤消/还原上一次操作
u:如果误执行一个命令,可以马上按下u,撤消上一个操作。按多次u可以执行多次撤消。
更改
cw:更改光标所在处的字到字尾处c#w:例如,c3w表示更改3个字
跳至指定的行
ctrl+g列出光标所在行的行号。#G:例如,15G,表示移动光标至文章的第15行行首。
Last line mode下命令简介
在使用last line mode之前,请记住先按ESC键确定您已经处于command mode下后,再按:冒号即可进入last line mode。
列出行号
:set num:输入set num后,会在文件中的每一行前面列出行号。
跳到文件中的某一行
:#:回车跳到文章的第#行。
查找字符
/关键字:先按/键,再输入您想寻找的字符并回车,按n查找下一个?关键字:同上
保存文件
:w:在冒号输入字母w就可以将文件保存起来。:w filename: 储存正在编辑的文件为filename:wq filename: 储存正在编辑的文件为filename,并退出vi
离开vi
:q:按q就是退出,如果无法离开vi,可以在q后跟一个!强制离开vi。:q!:强制退出vi:qw:一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。
从插入模式切换为命令行模式
- 按
ESC键。