一.导入文件内容
:r
解释
导入文件
示例
编辑模式下
 
# 将/tmp/test.txt内容导入到光标所在的位置的下一行
:r /tmp/test.txt
:!
解释
在编辑文件时,执行系统命令
示例
编辑模式下
# 查看ls命令的目录
:!which ls
[No write since last change]
/usr/bin/ls
:r !命令
解释
将命令的内容导入文件光标处
示例
# 将ls命令的位置导入到文件中光标的下一行
:r !which ls
二.定义快捷键
定义添加行首添加注释#的快捷建ctrl+p
在命令模式下
:map ^P I#<ESC>
    ^P      ctrl+v+p或者ctrl+v再加上ctrl+p 输入
    I       跳到行首,并进入插入模式
    <ESC>   退出编辑模式
定义删除行首首个字符的快捷键ctrl+b
在命令模式下
:map ^B 0x
    ^B      ctrl+v+b或者ctrl+v再加上ctrl+b 输入
    0       跳到行首
    x       删除光标所在处的字符
定义插入邮箱的快捷键ctrl+h
在命令模式下
:map ^H Izhangh0725@163.com<ESC>
三.连续行注释
将n1到n2行全部注释掉
# 将n1行到n2行行首的空位置替换为#,也就是注释了
:n1,n2s/^/#/g
    第一个/后面的^代表行首的空位置
    第二个/后面的#代表要替换为的#
将n1到n2行行首的注释全部去掉
# 将n1行到n2行行首的#替换为空,也就是去掉了注释
:n1,n2s/^#//g
    ^ 代表行首的
    第二个/后面时空的,代表把行首的#替换为空
    /g代表直接替换,不用确认
将n1行到n2行行首添加//
:n1,n2s/^/\/\//g
    第一个/^代表的时行首的空位置
    第二个/代表的是/后面的为要替换的内容
    \/\/代表的是//,其中\为转义符
    /g代表直接替换,不用确认
四.替换符
给长字符zhangh0725@163.com定义一个短的容易记忆的字符mmail
:ab mmail zhangh0725@163.com
弊端: 重启之后定义的就失效,所以最好保存起来
五.将vim的快捷方式等保存起来
保存位置
root用户: /root/.vimrc
普通用户(eternity): /home/eternity/.vimrc
配置文件内容
cd /root
vim .vimrc
# 内容
set nu
map ^P I#<ESC>
ab mmail zhangh0725@163.com
    第一行  默认设置行号
    第二行  ctrl+p为光标的行首添加#并退出插入模式
    第三行  将mmail映射为zhangh0725@163.com,输入mmail自动变为zhangh0725@163.com