vim编辑器
vim编辑器:
文本编辑器;
文本:纯文本信息,类似windows文本文档(记事本);
文本编辑器种类:
行编辑器:sed;
全屏编辑器:nano,vi;
vi:可视化接口;
vim:vi增强版;
vim使用方式:
https://blog.csdn.net/weixin_39890633/article/details/111748528
模式化的编辑器:
基本模式:编辑模式、命令模式、输入模式、末行模式(内嵌的命令行接口);
打开文件:打开文件如果事先指定的文件路径不存在,vim会自动创建此文件;
使用方式:vim [选项] 文件路径;(文件打开后,光标默认在第一行最左侧)
常用选项:
+#(数字):打开文件后,直接让光标处于第#行行首;
+/PATTERN(正则表达式模式):打开文件后,直接让光标处于第一个PATTERN所匹配的行的行首;
+:打开文件后,直接让光标处于尾行行首;
模式转换:
编辑模式:默认模式;
编辑模式转换为输入模式:
1、i:insert 在光标所在处输入;(点击 i 键)
2、a:在光标所在处后方输入;(点击 a 键)
3、o:在光标所在处下方新建一行;(点击 o 键)
4、I:在光标所在行的行首输入;(点击大写 I )
5、A:在光标所在行的行尾输入;(点击大写A)
6、O:在光标所在处的上方新建一行;(点击大写O)
输入模式转换为编辑模式:点击Esc键;
编辑模式转换为末行模式(命令行模式):
:进入vim命令行模式;(点击:号)
u或者:u :撤销更改; 在Vim中,u
命令还接受量词。 例如,如果要撤消最后4个更改,则可以使用4u
。 确保您输入的是小写的u
,而不是大写的U
命令,这会撤消一行中所有的最新更改。 如果您不小心输入了U,则可以使用u
撤消更改。
末行模式转换为编辑模式:点击Esc键(:没有命令时两次);
关闭文件:
编辑模式下输入连续两个大写ZZ,保存并退出文件;
末行模式下退出:
:q:退出
:q!:强制退出,不保存此前的编辑操作;
:wq:保存并退出;
:x:保存并退出;
:w 文件路径:文件另存为;
光标跳转:
字符间跳转:
h:光标向左跳转单个字符;
l:光标向右跳转单个字符;
j:光标向上跳转;
k:光标向下跳转;
#(数字)命令(h、j、k、l):跳转指定数字#个的字符;
单词间跳转:
w:下一个单词词首;
e:当前或后一个单词的词尾;
b:当前或后一个单词的词首;
#(数字)命令(w、e、b):跳转指定数字#个的单词;
行首行尾跳转:
^:跳转至行首的第一个非空白字符的
0:跳转至行首;
$:跳转至行尾;
行内跳转:
#(数字)G:跳转指定数字#的行;
1G,gg:跳转至第一行;
G:跳转至最后一行;
句间跳转:
):下一句;
(:上一句;
#(数字)命令( )、( ):跳转指定数字#的句;
段间跳转:
}:下一段;
{:上一段;
#(数字)命令( }、{ ):跳转指定数字#的句段;
翻屏:
Ctrl+f:向文件尾部翻一屏;
Ctrl+b:向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
Enter:按行向后翻;
vim编辑命令:
字符编辑:
x:删除光标所在处的字符;
#(数字)x:删除光标所在处起始的#的字符;
xp:交换光标所在处的字符与其后面字符的位置;
替换命令:
rCHAR(字符):用CHAR(字符)替换光标所在处的字符;
删除命令:
d:删除字符,可结合光标跳转的字符,实现范围内的字符;
d$:删除光标所在处至行尾的字符;
d^:删除光标所在处至行首的字符;
dw:删除光标所在处单词;
de:
db:
#(数字)d命令:删除光标所在处起始的#个删除范围字符;
dd:删除光标所在处一整行;
#(数字)dd:删除光标所在处的行起始的共#行;
粘贴命令:
p:缓存区中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,在粘贴在当前光标所在处的后方;
P:缓存区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,在粘贴在当前光标所在处的前方;
复制命令:
y:复制,工作行为相似于d命令;
yy:复制光标所在处一整行;
#(数字)yy:复制光标所在处的行起始的共#行;
修改命令(c):可以编辑模式转入输入模式,也可以实现删除操作;
c:用法及效果跟d命令一致,删除后进入输入模式;
其他编辑操作:
可视化模式:
v:按字符选定;
V:按行选定;
结合编辑命令使用:d、c、y;
撤销操作:
u:撤销此前的操作;
#(数字)u:撤销#u个此前操作;
撤销此前的撤销操作:
Ctrl+r:撤销此前的撤销操作;
重复执行此前的编辑操作:.(点号);
vim自带练习教程:vimtutor
下图来自:http://www.mybatis.cn/vim/2135.html