nnoremap [<space> :<c-u>put! =repeat(nr2char(10), v:count1)<cr>'[
nnoremap ]<space> :<c-u>put =repeat(nr2char(10), v:count1)<cr>
设置之后,连续按下 5 [ 空格 在当前行上方插入 5 个空行。
运行时检测
需要的特性:+profile
VIM 提供了一个内置的运行时检查功能,能够找出运行慢的代码。:profile
命令后面跟着子命令来确定要查看什么。如果你想查看所有的:
:profile start /tmp/profile.log
:profile file *
:profile func *
<do something in Vim>
<quit Vim>
VIM 不断地在内存中检查信息,只在退出的时候输出出来。(Neovim 已经解决了这个问题用 :profile dump
命令)
看一下 /tmp/profile.log
文件,检查时运行的所有代码都会被显示出来,包括每一行代码运行的频率和时间。大多数代码都是用户不熟悉的插件代码,如果你是在解决一个确切的问题, 直接跳到这个日志文件的末尾,那里有 FUNCTIONS SORTED ON TOTAL TIME
和 FUNCTIONS SORTED ON SELF TIME
两个部分,如果某个 function 运行时间过长一眼就可以看到。
查看启动时间
感觉 VIM 启动的慢?到了研究几个数字的时候了:
vim --startuptime /tmp/startup.log +q && vim /tmp/startup.log
第一栏是最重要的因为它显示了绝对运行时间 ,如果在前后两行之间时间差有很大的跳跃,那么是第二个文件太大或者含有需要检查的错误的 VimL 代码。