如果未使用以下autocmd定义局部变量,我正在尝试将缓冲区局部变量设置为全局变量
au BufEnter * if !exists('b:Variable') | let b:Variable = g:Variable | endif
但是,b:变量未定义。我在这做什么不正确?
编辑:重新说明/澄清,b:文件中正在使用变量。错误是b:Variable is not defined
。
答案 0 :(得分:4)
首先,您的自动命令是正确的。它应该工作。
我看到一些可能失败的原因:
什么是
:详细的autocmd BufEnter
说什么?如果未列出您的自动命令,则表示它未处于活动状态。
或尝试一些更简单的方法,并提供直接反馈,以查看自动命令与BufEnter是否通常有效。例如
:au BufEnter * echom“Buffer Entered”