vim比起其他外部命令更加复杂,它是用来编辑各种配置文件的,也叫vim文本编辑器,有属于自己的一套命令操作。
VIM工作模式
命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式
插入命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
a |
在光标后附加文本 |
A(shift + a) |
在本行行末附加文本 行尾 |
i | 在光标前插入文本 |
I(shift+i) |
在本行开始插入文本 行首 |
o | 在光标下插入新行 |
O(shift+o) |
在光标上插入新行 |
定位命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
:set nu |
设置行号 |
:set nonu |
取消行号 |
gg |
到第一行 |
G |
到最后一行 |
nG |
到第n行 |
:n |
到第n行 |
保存和退出命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
:w |
保存修改 |
:w new_filename |
另存为指定文件 |
:w >> a.txt |
内容追加到a.txt文件中 文件需存在 |
:wq |
保存修改并退出 |
shift+zz(ZZ) |
快捷键,保存修改并退出 |
:q! |
不保存修改退出 |
:wq! |
保存修改并退出(文件所有者可忽略文件的只读属性) |
注: 不保存并退出:
|
删除命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
x |
删除光标所在处字符 nx 删除光标所在处后n个字符 |
dd |
删除光标所在行,ndd删除n行 |
:n1,n2d |
删除指定范围的行(eg :1,3d 删除了123这三行) |
dG |
删除光标所在行到末尾的内容 |
D |
删除从光标所在处到行尾 |
复制和剪切命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
yy、Y |
复制当前行 |
nyy、nY |
复制当前行以下n行 |
dd |
剪切当前行 |
ndd |
剪切当前行以下n行 |
p、P |
粘贴在当前光标所F在行下 或行上 |
替换和取消命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
r | 取代光标所在处字符 |
R(shift + r) |
从光标所在处开始替换字符,按Esc结束 |
u | undo,取消上一步操作 |
ctrl+r |
redo,返回到undo之前 |
搜索和替换命令
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
/string |
向后搜索指定字符串 搜索时忽略大小写 :set ic |
?string |
向前搜索指定字符串 |
n |
搜索字符串的下一个出现位置,与搜索顺序相同 |
N(Shift + n) |
搜索字符串的上一个出现位置,与搜索顺序相反 |
:%s/old/new/g |
全文替换指定字符串 |
:n1,n2s/old/new/g |
在一定范围内替换指定字符串 |
% 指全文,s 指开始,g 指全局替换
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面查命令
:!which cp
vi里面导入命令的结果
:r !which cp
可视化模式
v 可视字符模式
V(shift+v) 可视行模式,选择多行操作
ctrl+v 可视块模式(列模式),操作列