一、: r ! 命令
Vim命令模式下,可使用下列命令
## 说明
:r [文件名] ## 导入文件内容
:! [命令] ## 在不退出Vim的情况下,执行相应的命令,并显示结果
:r! [命令] ## (前两个命令结合)导入命令的执行结果
## 范例
:r libai.txt ## 将libai.txt文件内容,导入到当前编辑文件的光标所在处的下一行
:! find / -name "libai.txt" ## 在不退出Vim的情况下,全局查找libai.txt文件,并显示结果
:r! date ## 导入当前时间
:r! find /home -name "libai.txt" ## 导出在/home目录下,全局查找libai.txt文件的结果
二、map 定义快捷键
Vim命令模式下,可以定义快捷键和使用快捷键 :map {lhs} {rhs}。这个命令就是将{lhs}代表的按键映射成{rhs}所代表的按键。
## 说明
:map [快捷键] [映射命令] ## 基本语法,按回车结束生效
## 快捷键的键入有两种方式
## 方式一 字符标识: <C-F> 即表示按 Ctrl+F 键
## 方式二 直接演示:直接按下Ctrl+F,即表示Ctrl+F触发,此时对应的部分会有彩色的上箭头+键值
## 范例
:map <C-K> o#1158805583@qq.com<ESC> ## 方式一,Ctrl+K,插入邮箱注释
:map ^T :r! date<Enter>I#<ESC> ## 方式二,Ctrl+T,插入当前时间注释
三、连续行注释
## 说明
:n1,n2s/old/new/g ## 采用连续行字符替换的方式,参考上一节(搜索和搜索替换命令)
## 范例
:1,5s/^/#/g ## 将第1至5行开头的空字符串替换成“#”字符串,即增加#注释,“^”表示开头
:1,5s/^#//g ## 将第1至5行开头的“#”字符串替换成空字符串,即去掉#注释
:2,7s/^/\/\/g ## 将第1至5行开头的空字符串替换成“//”字符串,即增加//注释,“\”表示转义字符串
四、变量替换
## 说明
:ab myEmail 1158805583@qq.com
## 定义一个myEmail变量,当你在编辑中输入myEmail时,按下回车或换行,即会被替换成对应的值
五、持久化配置
以上技巧,无论是声明快捷键还是变量,都是保存在内存当中的,用户退出或系统重启后即失效。如果想要永久有效需要另存到配置文件中。
不同的用户的配置文件均不同,都保存在对应用户的home目录下,该配置文件有可能为空。
例如:root用户的配置文件在/root/.vimrc
,gmd用户的配置文件在/home/gmd/.vimrc
。
## 范例
vim /root/.vimrc ## 修改root用户的Vim配置文件,没有则创建
set nu ## 开启行号
map <C-T> :r! date<Enter>I#<ESC> ## 定义Ctrl+T 快捷键,插入当前时间
ab myEmail 1158805583@qq.com ## 定义myEmail 变量,值为邮箱名
## 注意,行开头不需要使用“:”,配置文件保存后,即永久生效,不受系统重启或用户重新登录的影响。
## 编辑文件时,就会默认显示行号,且有Ctrl+T的快捷键和myEmail变量。