首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向函数传递参数的vimscript autocmd

向函数传递参数的vimscript autocmd
EN

Stack Overflow用户
提问于 2022-02-07 20:27:31
回答 1查看 109关注 0票数 0

我试图在文件保存时运行标记。但是我无法在函数中获得当前缓冲区的名称,我需要在编写之后使用这个名称,因为我希望ctag处理新的修改。理想情况下我想通过。参数到autocmd的函数中。

代码语言:javascript
复制
 23 function! UpdateTagsIfHasTags()
 24     echom "adsfsdf"
 25     return
 26     let tagsPath = printf('%s/tags', expand("%:h"))
 27     if !empty(glob(tagsPath))
 28         system(printf('/usr/local/bin/phpctags %s', filepath))
 29     endif
 30 endfunction
 31 augroup tags
 32     autocmd!
 33     autocmd BufEnter *.tex silent! !start /min ctags *.tex
 34     autocmd BufEnter *.php :call UpdateTagsIfHasTags()
 35 augroup END

如何将当前文件路径传递给函数?

EN

回答 1

Stack Overflow用户

发布于 2022-02-09 02:36:50

您可以使用特殊变量<afile><amatch>获得自动can文件名。详见:h expand:h <afile>:h <amatch>

代码语言:javascript
复制
function! Update()
  echom expand('<afile>')
  echom expand('<amatch>')
endfunction

autocmd BufEnter *.vim :call Update()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71024963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档