VIM文本编辑器的简单使用
CentOS7自带vim和vi编辑器,这里只介绍vim的最基础使用。
vim的三种编辑模式
普通模式、编辑模式和命令模式,下面是三种模式之间的转换关系图
普通模式
以vi/vim打开一个档案就直接进入一般模式了(默认普通模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理文档数据内容
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y数字y | 复制一段(从第几行到第几行) |
P|p | P在光标的当前行之前插入复制的内容,p在光标当前位置后面插入复制的内容 |
dd | 删除光标当前行 |
d数字d | 删除光标(含)后多少行 |
r键 :replace | 表示要更改当前光标选中的内容 |
R键: | 会依次替换光标所在位及光标后面的字符(这个很实用) |
b键 | 按单词的头从后往前调 |
gg | 光标移动到整个文档的开头 |
H | 光标移动到当前页得的开头 |
L | 光标移动到当前页的页尾 |
:set nu | 是整个文本的行号显示出来 |
:ser nonu | 隐藏行号 |
u | 撤销上一步 |
ctrl+r | 恢复上一步 |
d数字d | 删除光标(含)后多少行 |
x | 剪切一个字符(当前光标),相当于del |
X | 剪切一个字符(当前光标的前一个),相当于Basckspace |
yw | 复制一个词 |
dw | 删除一个词 |
shift+6(^) | 移动到行头 |
shift+4($) | 移动到行尾 |
w | 移动到下一个词(词头位置) |
e | 移动到当前词尾 |
G | 移动到页尾 |
数字N+G | 移动到N行 |
数字+shift+g | 移动到目标行(其实就是数字+G) |
在普通模式下:
- 按键v命令进入字符可视化模式(Characterwise visual mode ),文本选择以字符为单位
- 按键V命令进入行可视化模式(Linewise visual mode) 文本选择是以行为单位的
- ctrl+v命令进入块状可视化模式(Blockwise visual mode) 可以选择一个矩形内的文本
vim普通模式下复制文档全部
- 进入Vim编辑器
- 键入 gg 到达文本第一行。
- 按 v 进入Visual模式。
- 键入 G 到达文本最后一行并选中所有文本。
- 键入 y 即可复制到寄存器中。
- 键入 p 即可粘贴寄存器中的内容。
编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容,当然硬要编辑还是可以的。按下【i,I,o,O,a,A】等任何一个字母之后才会进入编辑模式。
注意:通常在Linux中,按下进入编辑模式的键时,在画面的左下方会出现【INSERT或REPLACE】的字样,此时才可以进入编辑。而如果需要回到普通模式时,则必须要按下【Esc】这个按键即可退出编辑模式回到普通模式
按键 | 功能 |
---|---|
i | 当前光标前 |
I | 从当前行最前面开始插入 |
o | 当前光标行的下面新的一行 |
O | 当前光标行的上面新的一行 |
a | 当前光标后 |
A | 光标所在行最后 |
vim命令模式
在普通模式中,输入【: / ?】3个中的任何一个按钮就可以将光标移动到最底部那一行,但是需要只输入 :命令才能运行命令
在这个模式当中,可以提供你【搜索资料】的动作,而读取、存盘、查找/替换字符、离开vi/vim、显示行号等作用是在此模式中运行的
命令 | 功能描述 |
---|---|
:w | 保存当前文档 |
:q | 退出vim |
:wq | 保存文档并退出vim |
:q! | 不保存强制退出 |
/要查找的词 | 按n查找下一个,按N往上查找,n往下查找 |
:noh //no highlight | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:wq! | 执行一些强制操作,例如:把可读文件改为可读写等(强制修改只读文件) |
😒/old/new | 替换当前行匹配的第一个old为new |
😒/old/new/g | 替换当前行匹配到的所有old为new |
:%s/old/new | 替换文档中每一行匹配到的第一个old为new |
:%s/old/new/g | 全文替换 |