function! DocumentFunction() let linenum = line(".") let line = getline(".") let name = substitute(line, 'function \([a-zA-Z]\+\).*', '\1', '') execute "normal O//\70a-" execute "normal o//" execute "normal o// Function: " . name execute "normal o//" execute "normal o// Description: " execute "normal o//" execute "normal o// Parameters: " let s:i = match(line, "\\$") if s:i > -1 while s:i != -1 let s:e = match(line, "[^a-zA-Z0-9_]", s:i + 1) - s:i execute "normal o// " . strpart(line, s:i, s:e) . ": \" if s:e < 10 execute "normal " . (10 - s:e) . "a " endif let s:i = s:i + 1 let s:i = match(line, "\\$", s:i) endwhile else execute "normal o// none" endif execute "normal o//" execute "normal o// Return Values: " execute "normal o//" execute "normal o// Remarks: " execute "normal o//" execute "normal o//\70a-" execute "normal o" execute "normal " . (linenum + 4) . "G$" endfunction function! DocumentFile() execute "normal O//" execute "normal o// Filename: " . expand("%") execute "normal o// Description: " execute "normal o// Language: PHP 4.3.2" execute "normal o// Created by: YOUR NAME HERE" execute "normal o// Created date: " . strftime("%Y-%m-%d %T") execute "normal o//\n" execute "normal j0" endfunction map :call DocumentFunction() map :call DocumentFile()