从vimscript函数中使用with调用具有局部变量范围的vimscript函数

问题描述 投票:4回答:1

这里是我正在处理的示例。它旨在将样板添加到文件中,然后注释掉刚刚使用vim BlockComment插件函数读取的那些行。目的是在读取文件之前和完成读取文件后标记行号,以便可以注释掉刚插入的行范围。但是我有时间弄清楚应该指出该范围的语法是什么。下面的注释行是我尝试使用变量调用具有给定范围的函数。如果我提供了如下所示的硬代码范围,则注释的部分存在语法错误,如下脚本所示。在这种情况下,如何将我的范围作为变量?

function! AddBoilerPlate()
    let s:beginLine = line(".")
    r /Users/danieljbrieckjr/myBolierPlate.txt
    exe "normal! joDate Created: " . strftime("%B %d, %Y")
    exe "normal! oLast Modified: " . strftime("%B %d, %Y")

    let s:endLine = line(".")

"--------------------------------------------------
"     s:beginLine, s:endLine call Comment()
"-------------------------------------------------- 

    1,3 call Comment()


endfunction
vim boilerplate
1个回答
11
投票

一个人可以准备一个包含目标命令的字符串,然后使用:execute运行它:

:exe s:beginLine.','.s:endLine 'call Comment()'
© www.soinside.com 2019 - 2024. All rights reserved.