我安装了这个插件使用 Vundle 并注意到它有一些设置(README 称它们为变量),例如:
b:javascript_fold
和
g:javascript_conceal
README 说“我可以将它们添加到您的.vimrc
以启用/禁用它们的功能。”但我不确定如何通过设置它们:
。这些变量无法通过set
或获得echo
,也不是命令或函数。我该如何设置/检查这些?
答案1
这些是内部变量。
您可以使用以下命令创建和修改它们:let
:
:let g:var_name = 1
你用 摧毁它们:unlet
。
您用 检查它们:echo
。
前缀显示变量的范围;来自:help internal-variables
:
buffer-variable b: Local to the current buffer.
window-variable w: Local to the current window.
tabpage-variable t: Local to the current tab page.
global-variable g: Global.
local-variable l: Local to a function.
script-variable s: Local to a |:source|'ed Vim script.
function-argument a: Function argument (only inside a function).
vim-variable v: Global, predefined by Vim.
将这种变量添加到你的程序中,~/.vimrc
如下所示:
let g:var_name = 1
通常,只有全局变量才需要添加到你的文件中~/.vimrc
,而缓冲区局部变量则可以在文件类型插件中使用。
答案2
配置变量不是选项,它们只是“模拟”插件的选项。因此,您不需要使用:set
,而需要使用:let
(和:echo
来列出它们的当前值)。
变量前面的符号决定了它的范围。g:
表示全局;这些通常需要设置前插件已加载,即通过放置
let g:javascript_conceal = 1
进入你的~/.vimrc
(并重新启动 Vim)。
由于某些配置仅适用于某些文件类型,这些使用b:
前缀。将它们设置为~/.vimrc
只会将它们应用于第一个打开的缓冲区,这不是您想要的。相反,您需要挂接到文件类型检测机制。
如果您只想为某些文件类型启用配置选项,请使用:let b:var = value
,并将相应的命令放入~/.vim/after/ftplugin/{filetype}.vim
,其中{filetype}
是实际文件类型(例如javascript
)。(这要求您有:filetype plugin on
;使用后目录允许您覆盖由 完成的任何默认文件类型设置$VIMRUNTIME/ftplugin/{filetype}.vim
。)
或者,您可以:autocmd FileType {filetype} setlocal option=value
直接在中定义一个~/.vimrc
,但是一旦您进行了许多自定义,这往往会变得难以处理。
autocmd Filetype javascript let b:javascript_fold = 1