vim分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode),底线命令(Last line mode)
命令模式
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
常用命令:
i切换到输入模式,以输入字符x删除当前光标所在处的字符:切换到底线命令模式,以在最底一行输入命令
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令
输入模式
常用:
Esc退出输入模式,切换到命令模式Insert切换光标为输入/替换模式,光标变成竖线/下划线
底线命令模式
基本命令:
- q 退出程序
- w 保存文件
vim按键
移动光标
要进行多次移动,例如向下移动30行,可使用30↓的组合按键
[Ctrl]+[f]下一页[Ctrl]+[b]上一页[Ctrl]+[d]向下半页[Ctrl]+[u]向上半页0移动到该行最前面字符处$移动到该行最后字符处G移动到档案最后一行nG一赌东道档案第n行gg移动到档案第一行
搜索替换
/word向光标之下寻找名称为word的字符串?word向光标之上寻找名称为word的字符串n重复前一个搜寻的动作N反向进行前一个搜寻动作:n1,n2s/word1/word2/g在n1与n2行之间寻找word1字符串,并用word2取代:1,$s/word1/word2/g或:%s/word1/word2/g从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2:1,$s/word1/word2/gc或:%s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串取代为word2,并显示提示字符确认
删除、复制、粘贴
x,Xx相当于del,X相当于Backspacedd删除光标所在行ndd删除光标所在向下n行d1G删除光标所在到第一行所有数据dG删除光标所在到最后一行所有数据yy复制光标所在行nyy复制光标所在的向下n行p,Pp为将已复制的数据在光标下一行粘贴,P为粘贴在上一行u撤销[Ctrl]+r重做.重复前一动作
一般模式切换到编辑模式
i,Ii为『从目前光标所在处输入』,I为『在目前所在行的第一个非空格符处开始输入』a,Aa为『从目前光标所在的下一个字符处开始输入』,A为『从光标所在行的最后一个字符处开始输入』o,Oo为『在目前光标所在的下一行处输入新的一行』, O 为在目前光标所在处的上一行输入新的一行r,Rr会取代光标所在字符一次,R会一直取代光标所在的文字,直到按下[Esc]
一般模式切换到命令模式
:w!若文档为只读属性,强制写入该文档,不过仍与权限有关:q!离开而不存储文档wq!强制存储后离开ZZ若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开:w [filename]将编辑的数据另存为filename:r [filename]将filename这个档案内容加到光标所在行后面n1,n2 w [filename]将n1到n2的内容另存为filename:! command暂时离开vi到指令模式下执行command的显示结果,如[:! ls/home]即可在vi中查看/home下以ls输出的文档信息:set nu显示行号,在每一行的前缀显示该行行号:set nonu取消行号