आप स्वयं के प्रोफाइलिंग तंत्र का उपयोग कर सकते हैं:
vim --cmd 'profile start profile.log' \
--cmd 'profile func *' \
--cmd 'profile file *' \
-c 'profdel func *' \
-c 'profdel file *' \
-c 'qa!'
उपरोक्त चलाने के बाद, आपको वर्तमान निर्देशिका में profile.log नामक एक फाइल मिलेगी जिसमें सभी आवश्यक जानकारी होगी। पहले से मौजूद प्रति-कार्य के समान प्रति-स्क्रिप्ट सूचना तालिका प्राप्त करने के लिए, इस फ़ाइल को खोलने के बाद उपयोग करें):
" Open profile.log file in vim first
let timings=[]
g/^SCRIPT/call add(timings, [getline('.')[len('SCRIPT '):], matchstr(getline(line('.')+1), '^Sourced \zs\d\+')]+map(getline(line('.')+2, line('.')+3), 'matchstr(v:val, ''\d\+\.\d\+$'')'))
enew
call setline('.', ['count total (s) self (s) script']+map(copy(timings), 'printf("%5u %9s %8s %s", v:val[1], v:val[2], v:val[3], v:val[0])'))
यह अनसुलझा हो जाएगा, लेकिन :sort
स्क्रिप्ट की संख्या बहुत बड़ी होने पर आप हमेशा अंतर्निहित कमांड का उपयोग कर सकते हैं ।