vim编辑器常用的模式有以下三种
(1)普通模式
(2)插入模式
(3)命令模式
说明:当你刚打开vim要编辑的时候,vim编辑器会进入普通模式。准备要往里写入东西的模式是插入模式,而shift + :是编辑命令模式。
vim模式切换
普通-->插入:a、i、o、r
插入-->普通:ESC
普通-->命令:Shift+:
vim编辑器中常用的命令
(1)移动光标的命令
h: 左移一个字符
j: 下移一行(文本中的下一行)
k: 上移一行(文本中的上一行)
l: 右移一个字符
(2)提高移动速度的命令(普通模式下)
PageDown(或Ctrl+F):下翻一屏
PageUp(Ctrl+B):下翻一屏
Shift+4:移动光标所在行行尾
Shift+6:移动光标所在行行首
G,移动到文件的末尾
gg,移动到文件的开头
num G:移到文件中的第num(数字)行
w/W:光标移动到下一个单词的开头
b/B:光标移动到上一个单词的开头
(3)编辑命令(普通模式下)
删除操作:
x:删除当前光标所在位置的字符
dd:删除(剪切)光标所在行
5dd:删除(剪切)从光标处开始的5行
d0:删除从当前光标开始到行首的内容,光标下的字符不会被删除
d$:删除从当前光标开始到行末的内容,光标下的字符不会被删除
dw:删除当前光标所在位置的单词
J:删除当前光标所在行行尾的换行符(并接行)
复制操作:
y:复制当前光标所在位置的字符
yy:复制光标所在整行
5yy:复制从光标处开始的5行
yw:复制当前光标所在位置的单词
粘贴操作:
p:将最后一个复制的文本放在当前字符的后面
P:大写,将最后一个复制的文本放在当前字符之前
撤销操作:
u:撤销更改
Ctrl+R:重做更改
重复操作:
.:小数点.,重复上次操作;类似于office的格式刷
交换操作:
xp:交换光标位置的字符和光标右边的字符
ddp:交换光标位置的行和光标所在的下一行
缩进操作:
>>:右缩进
<<:左缩进
打开文件的方式
打开一个文件光标自动移动到文件的n行
vim +n filename
打开一个文件光标自动移动到文件的末尾
vim + filename
打开一个文件时将光标移动到匹配的某个字符上
vim +/pattern filename
以只读的方式打开文件
vim -R filename
命令模式中的可用命令
:n,移动到第n行
获得外部输入
:!<cmd>,将命令<cmd>的输出结果插入到当前光标所在位置
:r <file>,将文件<file>读入到当前光标所在位置
:w filename ,将文件保存到另一个文件
:q,退出
:q!,强制退出
:wq,保存并退出
:wq!,强制保存退出
:set nu,显示行号
:%!nl,在所有非空行前加入行号
:%!nl -ba,在所有行前加入行号
:set nonu:不显示行号
:set paste
:1,$!sort,将文件内的所内容排序
:命令:执行该命令
:s/one/two:将光标所在的第一个one替换成two
:s/one/two/g:将光标所在行的所有one替换成two
:%s/one/two/g:将全文中所有one替换成two
:?字符串:在文本中从下至上搜索该字符串
:/ 字符串:在文本中从上至下搜索该字符串
vim高级技巧
1.在命令行和vim之间切换
:sh切换到系统命令行
exit退回到vim
2.同时编辑连个文件
直接打开两个文件并横向分割(向下扩展)
vim -o filename1 filename2
直接打开两个文件纵向分割(向右扩展)
vim -O filename1 filename2
3.在打开了第一个文件的基础上再打开一个文件
先后打开两个文件并横向分割(向下扩展)
vim filename1
:vs filename2
先后打开两个文件并纵向分割(向右扩展)
vim filename1
:sp filename2
注:如果打开的文件不存在则会创建一个新的文件
4.文件关闭问题
关闭当前光标所在的窗口
:q
关闭除光标所在的窗口之外的其他窗口
:only
关闭所有窗口
:qa
5.打开多个窗口时切换技巧
Ctrl + w w
提示:
1.在vim编辑器的普通模式下使用Backspace键和Delete键时要留心。
2.vim编辑器通常会将Delete键识别成x命令的功能,删除当前光标所在位置的字符。
3.vim编辑器在普通模式下通常不识别Backspace键。
4.所有的命令都在普通模式中执行,如果在插入模式,需要按ESC键切换到普通模式