个人博客网:https://wushaopei.github.io/ (你想要这里多有)
1、简介
Linux系统环境下的一款非常重要的文本编辑工具,我们在Linux环境下几乎所有的文本文件编辑工作都是靠它。
可能你还听说过VI,嗯,VIM是VI的升级版。
2、VIM编辑器的三种工作模式
3、浏览文件内容操作
- 上下左右移动光标
h:左
j:下
k:上
l:右
立即移动到页头:gg
移动到页尾:shift+g
移动到目标行
第一步:输入数字N
第二步:shift+g
移动到行头
方式一:shift+^
方式二:数字0
移动到行尾:shift+$
向下移动n行:n<Enter>
向下翻页:Ctrl+f
向上翻页:Ctrl+b
向下翻页一半:Ctrl+d
向上翻页一半:Ctrl+u
将光标移动到下一行:+
将光标移动到上一行:-
横向移动光标
<space>:向右移动一列
n<space>:向右移动n列
移动到屏幕第一行的第一个字母:H
移动到屏幕中间行的第一个字母:M
移动到屏幕最后一行的第一个字母:L
4、编辑文件内容操作
删除当前行:dd
从当前行开始,删除n行:dnd
从当前行开始删除n行:ndd
从第一行删除到当前行:d1G
从当前行删除到最后一行:dG
从光标当前位置删除到行末:D或d$
撤销刚才的操作:u
重做刚才的操作:Ctrl+r
复制当前行:yy
复制n行:yny
复制从第一行到当前行的所有行:y1G
复制从当前行到最后一行的所有行:yG
复制从当前行的第一个非空格字符到当前光标位置:y^
复制从当前行的第一个字符到当前光标位置:y0
从光标当前位置开始复制到本行结束,包括空格:y$
粘贴:p
如果复制的是一整行,那么粘贴到下一行
如果复制的是一行中的一部分,那么粘贴到当前行
粘贴:P
如果复制的是一整行,那么粘贴到上一行
如果复制的是一行中的一部分,那么粘贴到当前行
删除光标后的一个字母:x
删除光标前的一个字母:X
向后连续删除n个字符:nx
向前连续删除n个字符:nX
将本行从第一个非空格字符开始到当前光标前的字符删除:d^
将本行第一个字符,不管是不是空格,到当前光标位置前的字符删除:d0
删除从光标位置开始的一个单词:dw
单词边界:空格或标点符号
复制从光标位置开始的一个单词:yw
替换光标位置的一个字符:r
合并当前行与下一行:J
合并n行:nJ
5、进入编辑模式
i:在当前光标前,以插入模式进入
I:在当前行开始位置,以插入模式进入
a:在当前光标后,以插入模式进入
A:在当前行末尾,以插入模式进入
o:从当前光标的下一行以插入模式进入
O:从当前光标的上一行以插入模式进入
R:从当前光标位置以替换模式进入
s:删除当前光标所在位置的字符并进入插入模式
S:删除当前行并进入插入模式
6、指令操作
保存 :w
强制保存 :w!
但是还要看是否具备权限,如果没有权限加了强制也不一定能保存进去
退出VIM :q
如果有未保存的修改则无法退出
强制退出VIM :q!
未保存的修改将会被丢弃
保存退出 :wq或ZZ
强制保存退出 :wq!
另存为 :w [fileName]
追加其他文档内容到当前行的下一行 :r [fileName]
暂时离开VIM执行一个Linux命令,再按任意键返回 :! [Linux命令]
- :! ls -lz
显示行号 :set nu
隐藏行号 :set nonu
- 查找方式1 /被查找词
n:下一个
shift+n:上一个
- 查找方式2 ?被查找词
n:上一个
shift+n:下一个
- 替换 :
%s/old字符/new字符/g
7、区块模式
进入区块模式:Ctrl+V
按上下左右键划定执行区块操作的范围
进入输入模式:Shift+i
开始输入
Esc
8、VIM键盘图