首页 > 代码库 > vim 常用命令
vim 常用命令
vimm(vimsual)是Linux/UNIX系列OS中通用的全屏编辑器。
vimm分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q代表退出,而编辑状态则是用来编辑文本资料的。当你进入vim时,会首先进入命令状态。在命令状态下,按”i”(插入)或”a”(添加)可以进入编辑状态,在编辑状态,按ESC键进入命令状态。
在命令状态下,有如下一些常用命令:
新增:
a从光标后面开始添加文本
A从光标所在行的末尾开始添加文本
插入:
i从光标前面开始插入文本
I从光标所在行的开始处插入文本
删除与修改:
x删除光标处的字符
dd删除光标所在的整行
3dd删除光标所在行以及下面的两行
D删除光标到行尾的文本,常用语删除注释语句(d$)
光标移动:
在远程登录模式下,vim不支持PageUp、PageDown、Home、End等功能键!(郁闷吧)
^光标移动到行首
$光标移动到行尾
Ctrl+d向下翻半页
Ctrl+f向下翻一页
Ctrl+u向上翻半页
Ctrl+b向上翻一页
gg光标定位到文档头
G光标定位到文档尾
H光标定位到当前页首
L光标定位到当前页的最后一行的行首
w光标往后移一个字
b光标往前移一个字
[n]+光标向后移动n行,[n]表示一个整数
[n]-光标向前移动n行,[n]表示一个整数
[n]G光标定位到第n行行首,[n]表示一个整数
查找与替换:
/[str]查找字符串str,[str]表示要查找的字符串
回车后会加亮显示所有找到的字符串,接着
命令n移动到下一个找到的字符串,命令N移动到
上一个找到的字符串eg /hello
部分替换(只能替换光标之所在的行)
:s/[src]/[dst] /i忽略大小写/g全部匹配eg :s/hello/world/ig替换一行
:3,6s/[src]/[dst]/ig(3-6行中找)eg :3,6 s/hello/world
全部替换
:%s/[src]/[dst]/g将文档中所有src的字符串替换为dst字符串
:%s/^//g将文档每一行的行首的空格去掉
块操作:
v可视化块选择状态,选中块之后,可以对块进行删除(d),复制(y),剪切(x)
yy复制光标所在的整行
[n]yy从光标开始往下复制n行,[n]表示一个整数
p将复制后的文本粘贴到光标处
u撤销上次操作
结束编辑:
:q在未修改文档的情况下退出
:q!放弃文档的修改,强行退出
:w文档存盘
:wq文档存盘退出
其他:
:help命令查看该命令的帮助提示
:%!xxd十六进制模式
:%!xxd–r返回文本模式
如果在编辑过程中不小心按了Ctrl+s,vim会处于僵死状态,按Ctrl+q可以恢复。
执行vim+3 main.c //表示定位到main.c的第3行
执行vim+/printf main.c //表示定位到第一个printf处
在命令模式下输入:new2.c //表示再打开一个vim,是横向的用vnew2.c表示纵向
也可以通过:split vsplit sp vsp,两个窗口之间进行切换的方式:Ctrl+w,w
在命令模式中输入gg=G可以自动对齐
sed:管道查找替换程序
cata.txt | sed ‘s/aa/bb/‘ > b.txt //将a.txt中的aa替换成bb并重定向输出到b.txt中。
:r my_open.c
将my_open.c读入当前目录