vi命令有2个模式,即命令模式和编辑模式,首先要确认当前的模式。 

 

 

进入编译模式 

命令 解释

 

移到当前位置的左侧,开始进行编辑

I 移到当前行的最前面,开始进行编辑

a 移到当前位置的右侧,开始进行编辑

A 移到当前行的最后面,开始进行编辑

o 在当前行的下面插入空行,开始进行编辑

O 在当前行的上面插入空行,开始进行编辑

 

 

修改 

 

命令 解释

r 把当前的文字修改为指定的文字(可指定n个文字,例如r3,把3个文字修改为指定的文字)

R 修改多个文字

J 把当前行的换行符修改为空格(可指定n,例如J3,把3行连接到连接成一行)

~ 把当前的文字,改为大写小写(可指定n,例如~3等)

 

删除 

 

命令 解释

x 删除当前的文字(可使用n,例如x3,删除当前文字开始的3个字)

d 删除当前的文字列(可使用n,例如d3,删除从当前文字列开始的3个文字列)

dd 删除当前的行(可使用n,例如dd8,删除从当前行以后的8行)

:g/文字列/d 删除包括指定文字列的所有行

 

剪切 拷贝 粘帖 

 

命令 解释

y 拷贝对象文字列(可使用n,例如y3,拷贝当前文字列开始的3个文字列)

yy 拷贝当前行(可使用n,例如yy3,拷贝当前行一下的3行)

P 把拷贝或者删除的文字列,拷贝到当前行的上面

p 把拷贝或者删除的文字列,拷贝到当前行的下面

 

移动当前位 

 

命令 解释

h 往左移动一个字符(可使用n,例如h3,往左移动3个字符)

j 往下移动一行(可使用n,例如j3,往下移动3行)

k 往上移动一行(可使用n,例如k3,往上移动3行)

l 往右移动一个字符(可使用n,例如l3,往右移动3个字符)

w 把当前位移动到下一个单词(可使用n,例如w3)

b 移动到前一个单词(可使用n,例如b3)

e 移动到单词的最后一个字符,当已在一个单词的最后一个字符的时候,移动到下一个单词的最后一个字符

G 移动到当前文件的最后一行的行首

- 当前行的上面的行首(可使用n,-3)

Enter 当前行的下面的行首(可使用n,Enter3)

 

Undo 

 

命令 解释

u 取消上一个操作

. 重复上一个操作

 

文件操作 

 

命令         解释

ZZ         保存并且退出vi

:w(Enter)   保存

:w 文件名(Enter)   保存为指定的文件名

:wq(Enter)   保存并退出vi

:q!(Enter)   不保存并退出vi

:e 文件名(Enter)   打开指定的文件