# vimの起動のプロファイル
function vim_profile_startup() {
  profile=~/tmp/vim_profile
  test -f $profile && \rm $profile
  vim --startuptime $profile +q
  vim $profile -c 'sort f /^.\{18\}\zs./'
}

# 特定のファイルのプロファイル
function vim_profile_file() {
  file=$1
  local profile=~/tmp/vim_profile
  test -f $profile && \rm $profile
  vim --cmd "profile start $profile" --cmd "profile file $file" +q
  vim $profile -c 'sort f /^.\{18\}\zs./'
}

# vimrcのプロファイル
function vim_profile_vimrc() {
  vim_profile_file ${HOME}/.vim/vimrc
}

vimを開いてからプロファイル

:profile start profile.log
:profile func *
:profile file *
" At this point do slow actions
:profile pause
:noautocmd qall!

スクリプト関数のprofileをしたい時は

:scriptnames

でファイルの番号を確認して、

:profile start vimprofile.txt
:profile func <SNR>200_*

など。