gpt4 book ai didi

vim - vim中自己的简单模板系统——include文件

转载 作者:行者123 更新时间:2023-12-04 22:04:04 26 4
gpt4 key购买 nike

我读过 vim-wiki关于动态模板,我想要类似的、简单的“模板系统”。我创建了一个函数:

function! Read_template(file)
execute '0r /home/zsolt/.vim/skeletons/'.a:file
%substitute#\[:EVAL:\]\(.\{-\}\)\[:END:\]#\=eval(submatch(1))#ge
%substitute#\[:READ:\]\(.\{-\}\)\[:END:\]#??????#ge
endfunction

我想包含来自模板的文件。 EVAL 运行良好,但如何解决 READ 功能?评估包含的文件并不重要。

一个例子:

main.tex:

\documentclass[a4paper]{article}
....

exam.tex:

% Created [:EVAL:]strftime('%Y. %B. %d.')[:END:]
[:READ:]/path/of/main/main.tex[:READ:]

我执行 Read_template("exam.tex") 并希望 exam.tex 包含 main.tex

我该怎么做?

最佳答案

您需要读取文件并插入其内容。因为你不能使用 :read (它将读取整行并且不能从替换中调用),你必须使用较低级别的 readfile() Vimscript 函数,像这样:

%substitute#\[:READ:\]\(.\{-\}\)\[:END:\]#\=join(readfile(submatch(1)),"\n")/#ge

关于vim - vim中自己的简单模板系统——include文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22302281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com