一、: r ! 命令

Vim命令模式下,可使用下列命令

  1. ## 说明
  2. :r [文件名] ## 导入文件内容
  3. :! [命令] ## 在不退出Vim的情况下,执行相应的命令,并显示结果
  4. :r! [命令] ## (前两个命令结合)导入命令的执行结果
  5. ## 范例
  6. :r libai.txt ## 将libai.txt文件内容,导入到当前编辑文件的光标所在处的下一行
  7. :! find / -name "libai.txt" ## 在不退出Vim的情况下,全局查找libai.txt文件,并显示结果
  8. :r! date ## 导入当前时间
  9. :r! find /home -name "libai.txt" ## 导出在/home目录下,全局查找libai.txt文件的结果

二、map 定义快捷键

Vim命令模式下,可以定义快捷键和使用快捷键 :map {lhs} {rhs}。这个命令就是将{lhs}代表的按键映射成{rhs}所代表的按键。

  1. ## 说明
  2. :map [快捷键] [映射命令] ## 基本语法,按回车结束生效
  3. ## 快捷键的键入有两种方式
  4. ## 方式一 字符标识: <C-F> 即表示按 Ctrl+F 键
  5. ## 方式二 直接演示:直接按下Ctrl+F,即表示Ctrl+F触发,此时对应的部分会有彩色的上箭头+键值
  6. ## 范例
  7. :map <C-K> o#1158805583@qq.com<ESC> ## 方式一,Ctrl+K,插入邮箱注释
  8. :map ^T :r! date<Enter>I#<ESC> ## 方式二,Ctrl+T,插入当前时间注释

三、连续行注释

  1. ## 说明
  2. :n1,n2s/old/new/g ## 采用连续行字符替换的方式,参考上一节(搜索和搜索替换命令)
  3. ## 范例
  4. :1,5s/^/#/g ## 将第1至5行开头的空字符串替换成“#”字符串,即增加#注释,“^”表示开头
  5. :1,5s/^#//g ## 将第1至5行开头的“#”字符串替换成空字符串,即去掉#注释
  6. :2,7s/^/\/\/g ## 将第1至5行开头的空字符串替换成“//”字符串,即增加//注释,“\”表示转义字符串

四、变量替换

  1. ## 说明
  2. :ab myEmail 1158805583@qq.com
  3. ## 定义一个myEmail变量,当你在编辑中输入myEmail时,按下回车或换行,即会被替换成对应的值

五、持久化配置

以上技巧,无论是声明快捷键还是变量,都是保存在内存当中的,用户退出或系统重启后即失效。如果想要永久有效需要另存到配置文件中。
不同的用户的配置文件均不同,都保存在对应用户的home目录下,该配置文件有可能为空。
例如:root用户的配置文件在/root/.vimrc,gmd用户的配置文件在/home/gmd/.vimrc

  1. ## 范例
  2. vim /root/.vimrc ## 修改root用户的Vim配置文件,没有则创建
  3. set nu ## 开启行号
  4. map <C-T> :r! date<Enter>I#<ESC> ## 定义Ctrl+T 快捷键,插入当前时间
  5. ab myEmail 1158805583@qq.com ## 定义myEmail 变量,值为邮箱名
  6. ## 注意,行开头不需要使用“:”,配置文件保存后,即永久生效,不受系统重启或用户重新登录的影响。
  7. ## 编辑文件时,就会默认显示行号,且有Ctrl+T的快捷键和myEmail变量。