On 8/18/06, Meino Christian Cramer <[EMAIL PROTECTED]> wrote:
Hi,
I often need to place a header above a function defintion (C-source)
fpr documentational purposes.
What I treid is to write a short function for vim, which dioes insert
the text skeleton -- but I did not find any already existing function
in the API which does this for me. With :i I got weird effects --
sure my fault, but... .
How can I insert text via a script ?
Kind regards,
mcc
Hi
I got this in my .vimrc:
function! ReadSkeleton()
if exists ("g:Skeleton_path")
let skeleton_path = g:Skeleton_path
else
let skeleton_path = getcwd()
endif
let filenameList = split (glob ( skeleton_path . "/*.*") , "\n")
let filenameList = insert (filenameList, "Select skeleton to load")
let choiceList = copy (filenameList)
let choiceList = map (choiceList, 'index(filenameList,v:val) .". ". v:val')
let choiceList[0] = "Select skeleton to load"
let listLen = len(choiceList)
let choiceList = add (choiceList, listLen . ". Browse for some
other folder (gui ONLY)")
let choice = inputlist(choiceList)
"echo choice
let skeletonName = ""
if choice == listLen
"Do the browse thingie if possible
if has("browse")
let skeletonName = browse(0,"Select session to
restore",skeleton_path,"")
"echo skeletonName
endif
elseif choice > 0
"Load the file
let skeletonName = filenameList[choice]
" echo "setting skeletonName to ". skeletonName
endif
if skeletonName != ""
execute "0read " . skeletonName
endif
endfunction
nmap <F4> :call ReadSkeleton()<cr>
let Skeleton_path = "/home/mroets/.vim/skeletons"
I put all the skeletons for programs (perl, c , php etc), each in
their own file in a directory, and set Skeleton_path to this directory
in my .vimrc. Now I press F4 and choose which skeleton I want for my
new file.
HTH
Marius