1. vi/vim编辑器详细使用讲解
1.1 vi/vim编辑器的3种模式
1.2 vi/vim编辑器操作说明
参数/命令/模式 | 说明 |
###普通模式 | |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
/PATTERN | 从当前光标所在处向文件尾部查找(n与命令同向查找下一个,N则相反) |
?PATTERN | 从当前光标所在处向文件首部查找(n与命令同向查找下一个,N则相反) |
###光标移动操作 | |
0 或 ^ | 跳到光标所在行行首 |
$ | 跳到光标所在行行尾 |
gg | 跳转至文件开头 |
G,或shift+g | 跳转至文件尾部 |
ngg (n是所在行的数字) | 跳转到指定行 |
###搜索关键字 | |
/keyword | 使用/搜索,默认向下搜索,按n继续搜索下一个,反向按N向上搜索 |
###替换字符串(/可使用其他符合如@,#) | 注意事项:如果有分组引用,则须转义小括号 \(\) |
:%s/A/B/g | 把文本中所有的A替换为B(%代表全局替换),/斜线为分隔符,可以用@或#代替 |
:1,3s/A/B/g | 把第1-3行的A替换为B,没有%,就不是全局替换,仅仅将1-3行符合条件的替换 |
:1,$s/A/B/g | 将第1行到结尾符合条件的内容进行替换 |
###删除 | |
dd | 删除光标所在行单行 |
ndd | 从光标处开始,往后删除n行,n是数字 |
x | 小写x,往后删除字符 |
X | 大写X,往前删除字符 |
d1G | 删除当前行至第一行(往前) |
dG | 删除当前行至最后一行(往后) |
d0 | 删除当前光标文本至行首(单行) |
d$ | 删除当前光标文本至行尾(单行) |
###剪切 | |
dd ---> p | 使用dd删除(也是剪切),再使用p复制,默认复制到光标所在行的下一行 |
###撤销(回滚前一个执行的操作) | |
u | 撤销删除或更改的操作,进行回滚 |
Ctrl+r | 撤销之前的撤销 |
###复制 | |
yy | 复制光标所在行 |
nyy | 从光标所在行开始,往后复制n行,n是数字 |
5gg ---> 5yy | 跳到第5行,再往后复制5行 |
5gg ---> shift+g | 跳到第5行,再复制往后所有行 |
###粘贴 | |
p |
小写p,粘贴到光标所在行的下一行(缓冲区存储的是整行); 粘贴到光标所在行的末尾(缓冲区存储的是一段内容) |
3p |
小写p,粘贴多次内容 |
P |
大写P,粘贴到光标所在行的上一行(缓冲区存储的是整行); 粘贴到光标所在行的行首(缓冲区存储的是一段内容) |
###编辑模式操作 | |
i | insert,进入插入模式,在光标所在处输入,进入编辑状态 |
I | 大写I,在当前光标所在行行首输入,进入编辑状态 |
a | append,在光标下一个字符插入,进入编辑状态 |
A | 在当前光标所在行行尾追加输入内容,进入编辑状态 |
o | 小写o,在光标下一行开插入(在当前光标所在行的下方打开一个新行) |
O | 大写O,在光标上一行开插入(在当前光标所在行的上方打开一个新行) |
C | 将光标到行尾内容进行删除,并进入编辑状态 |
cc | 将整行内容进行删除并进入编辑状态 |
Esc --键盘上Esc键 | 退出编辑模式 |
###关闭文件 | |
:wq | 保存退出 |
:x | 保存退出 |
:q | 退出 |
:q! | 强制退出,不保存更改 |
:w /path | 将文件保存至其他路径 |
ZZ | 大写2个ZZ,保存退出 |
###改变命令(了解,无需掌握) | |
c | 修改(编辑模式--->输入模式) |
###可视化模式(了解) | |
v | 按字符选定内容(经常结合d,c,y编辑命令) |
V | 按行选定内容 |
###翻屏操作 | |
Ctrl+f | 向文件尾部翻一屏 |
Ctrl+b | 向文件首部翻一屏 |
Ctrl+d | 向文件尾部翻半屏 |
Ctrl+u | 向文件首部翻半屏 |