Own simple template system in vim - include file -
i've read vim-wiki dynamic templates , want similar, simple "template-system". i've created function:
function! read_template(file) execute '0r /home/zsolt/.vim/skeletons/'.a:file %substitute#\[:eval:\]\(.\{-\}\)\[:end:\]#\=eval(submatch(1))#ge %substitute#\[:read:\]\(.\{-\}\)\[:end:\]#??????#ge endfunction
i want include file template. eval
works how can solve read
function? isn't important eval included file.
an example:
main.tex
:
\documentclass[a4paper]{article} ....
exam.tex
:
% created [:eval:]strftime('%y. %b. %d.')[:end:] [:read:]/path/of/main/main.tex[:read:]
i exec read_template("exam.tex")
, want exam.tex
includes main.tex
.
how can this?
you'll need read file , insert contents. cannot use :read
(it read entire lines , cannot called within substitution), have use lower-level readfile()
vimscript function, this:
%substitute#\[:read:\]\(.\{-\}\)\[:end:\]#\=join(readfile(submatch(1)),"\n")/#ge
Comments
Post a Comment