vim日常基本命令.....
命令不再多,日常够用就好啦
vim的几种模式切换
插入命令
命令 | 作用 |
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在所在行行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
定位命令
命令 | 作用 |
:set nu | 设置显示行号 |
:set nonu | 取消显示行号 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行 |
:n | 到第n行 |
$ | 到行尾 |
0或^ | 到行首 |
j | 向下移动1行 ,nj向下移动n行 |
k | 向上移动1行,nk向上移动n行 |
h/l | 向左/右移动1个字符,nh/l向左/右移动n个字符 |
删除命令
命令 | 作用 |
x | 删除光标所在处字符 |
nx | 删除光标所在处n个字符(包括光标处的) |
dd | 删除光标所在行 |
dG | 删除光标所在行到文件末尾的内容 |
D | 删除光标所在处到行尾的内容 |
:n1,n2d | 删除n1到n2行的内容 :1,3删除1到3行的内容 |
dw | 删除一个单词,光标必须在单词开始处 |
复制和剪切
命令 | 作用 |
yy | 复制当前行 |
nyy | 复制当前行以下n行(包括当前行在内) |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p,P | 在当前光标所在处后,前粘贴 |
替换和取消
命令 | 作用 |
r | 取代光标所在处字符,先按r再按要替换的结果 |
R | 从光标所在处开始替换字符串,按esc结束 |
u | 撤销上一步的操作 |
vim复制一段
按v进入可视模式,光标移动到要复制的地方按l向后选取(按enter向下选取一行,G选取余下的所有文档)
进入可视模式配合相应的定位命令即可完成选取,然后按y,即可复制
l后选取,h向前选取
搜索和替换
在命令模式下 搜索指定字符串
/str 向下查找 ?str向上查找
收到时按n 到下一个出现的搜索的内容 N上一个出现的位置
替换
:%s/name/name1/g g表示全局替换
c表示带提示的替换 ,查出很多个时 ,每一个询问是否替换
在某一个区间内搜索替换
:n1,n2 s/name/name123
在n1到n2行之间把name换为name123
n为$时表示最后1行
把a.txt插入到b.txt的某个行位置后
vim b.txt
:10 r a.txt
表示将a.txt的内容插入到b.txt的第10行后
不带行号的话就是插入到当前光标位置
多个文件的编辑
vim a.txt a b.txt c.txt
:n表示进入下一个文件
:n c.txt表示进入c.txt文件
:w new_name 另存为指定文件 w!强制存为 new_name即使new_name文件存在
ZZ保存并修改退出的快捷键