一般模式可用的按钮说明,光标移动、复制粘贴、查找替换
移动光标的方法
- h或向左箭头:光标向左移动一个字符(常用)
- j或向下箭头:光标想下移动一个字符(常用)
- k或向上箭头:光标向上移动一个字符(常用)
- l或向右箭头:光标向右移动一个字符(常用)
ps:如果想要进行多次移动,例如向下移动30行,可以使用30j或30↓
ctrl + f或page down:屏幕向下移动一页(常用)
ctrl + b或page up:屏幕向上移动一页(常用)
ctrl + d:屏幕向下移动半页
ctrl + u:屏幕向上移动半页
+:光标移动到非空格符的下一行
-:光标移动到非空格符的上一行
n<space>:光标会向右移动这一行的n个字符
0或[home]:移动到这一行的最前面字符(常用)
$或[end]:移动到这一行的最后面字符处(常用)
H:光标移动到这个屏幕最上方那一行的第一个字符
M:光标移动到这个屏幕的中央那一行的第一个字符
L:光标移动到这个屏幕最下方的那一行的第一个字符
G:移动到这个文件的最后一行(常用)
nG:移动到这个文件的第n行
gg:移动到这个文件的第一行(常用)
N[enter]:光标向下移动n行
查找和替换
/word:向下查找一个名称为word的字符串(常用)
?word:向上查找一个名称为word的字符串(常用)
n:重复前一个查找的操作(常用)
N:“反向”进行前一个查找操作(常用)
:n1,n2s/word1/word2/g:n1与n2位数字。在第n1行和n2行之间查找word1这个字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/g:从第一行到最后一行查找word1,并将该字符替换成word2(常用)
:1,$s/word1/word2/gc:从第一行到最后一行查找word1,并将该字符替换成word2,且在替换前显示提示字符给用户确认是否需要替换(常用)
删除、复制和粘贴
- x,X:在一行字当中,x为向后删除一个字符(相当于[del]),X为向前删除一个字符(相当于[backspace])(常用)
- nx:连续向后删除n个字符
- dd:删除光标所在那一行(常用)
- ndd:删除光标所在的向下n行(常用)
- d1G:删除光标所在行到第一行的所有数据
- dG:删除光标所在行到最后一行的所有数据
- d$:删除光标所在处到该行最后一个字符
- d0:删除光标所在处到该行第一个字符
- yy:复制光标所有的那一行(常用)
- nyy:复制光标所在的向下n行
- y1G:复制光标所在行到第一行的所有数据
- yG:复制光标所在行到最后一行的所有数据
- y0:复制光标所在的那个字符到该行行首的所有数据
- y$:复制光标所在的那个字符到该行行尾的所有数据
- p,P:p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行
- J:将光标所在行与下一行的数据结合成一行
- c:重复删除多个数据,例如向下删除10行,[10cj]
- u:复原前一个操作(常用)
- ctrl + r:重做上一个操作(常用)
- .:重复上一个操作(常用)
一般模式切换到编辑模式的可用按钮说明
- i,I:进入插入模式,i为从目前光标所在处插入,I为从目前所在行的第一个非空格符除开始插入(常用)
- a,A:进入插入模式,a为目前光标所在的下一个字符开始插入,A为光标所在行的最后一个字符处开始插入(常用)
- r,R:进入替换模式,r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直至按下esc(常用)
- [esc]:退出编辑模式,回到一般模式(常用)
一般模式切换到命令行模式的可用按钮说明
命令行的保存、离开等命令
- :w:将编辑的数据写入硬盘文件中(常用)
- :w!:若文件属性为“只读”时,强制写入该文件。不过,到底能不写入,取决于跟你对文件的文件权限有关
- :q:离开(常用)
- :q!:若曾修改过文件,又不行储存,使用"!"为强制离开不保存(常用)
- :wq:保存后离开(常用)
- :wq!:强制保存后离开(常用)
- ZZ:若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开
- :w [filename]:将编辑的数据保存成另一个文件(常用)
- :r [filename]:将[filename]这个文件的内容加到光标所在行的后面
- n1,n2 w [filename]:将n1到n2的内容保存成[filename]
- :! [command]:暂时离开vi到命令行模式执行command的显示结果。例如 :! ls /home 即可在vi当中查看/home下面以ls输出的文件信息
vim环境的更改
- set nu:显示行号
- set nonu:不显示行号
最后贴一张图,可以用来大概复习一下常用命令
参考网站: