导入命令:r !
:r 文件名
即可将相应位置的文档的全部内容导入到当前文件中光标所在位置。
如果在写shell脚本的时候想要引入一个命令但是忘记了命令在哪个目录下可以使用:!
命令,如图所示回车之后就会列出你想要的目录。
:! 系统命令
可以在不退出Vim的情况下执行相应的操作命令。
更方便的操作是直接执行:r !命令
,可以直接将命令的执行结果导入到当前文件中光标所在位置。
执行完上述命令之后就能得到如图结果。
定义快捷键 :map 快捷键 触发命令
如果我们在编辑脚本是要注释某一行的话一般要经过好几步的操作,十分麻烦,这个时候我们就可以用到快捷键。
通过:map ^P I#<ESC>
这个命令就可以用ctrl+p
实现快捷注释,I
表示跳到行首并进入插入模式,#
表示插入注释符号“#”,<ESC>
表示回到命令模式。要注意map
之后的^p
不是键盘上方的数字6上面的“^”,要先按ctrl+v
再按ctrl+p
来敲出这个命令,表示要定义的快捷键是ctrl+p
。
连续行注释
有时候我们可能要连续注释多行,用上面的快捷键依旧十分麻烦,我们就可以用下面的连续行注释的命令。
:n1,n2s/^/#/g
,^
表示行首,第二个/
后的#
表示将行首的空替换为字符“#”,第三个/
后的g
表示不需要确认。
如果要去掉刚刚加上的注释可以用:n1,n2s/^#//g
,表示将行首的#
替换为空。
还有一种特殊情况是给C语言等加注释的时候要使用:n1,n2s/^////g
,//
表示的是注释符号“ // ”,只不过前面加上了转义字符“ ”。
替换 :ab mymail yangyuaa@foxmail.com
如果在脚本中经常需要增加一些比较长得信息比如说邮箱,可以使用上面的命令来提高效率。
在命令模式下执行完命令后回到文本中输入mymail
之后空格或回车就会发现mymail
已经替换成了定义好的邮箱。
Vim配置
重启服务器之后会发现上述定义的快捷键等都没有保存已经失效了,所以我们要把它写到每个用户的用户目录下面的配置文件里,root用户就在/root
下打开或者创建一个配置文件/.vimrc
,普通用户就在/home/username/.vimrc
,注意只能放一些编辑模式的命令。
保存之后所有编辑模式的命令都永久有效打开,比如说我们添加完上面几行命令之后打开任何一个文件都能看到行号。