我用Vundle 安装了此插件,并注意到它具有一些设置(自述文件将其称为变量),例如:
b:javascript_fold
和
g:javascript_conceal
自述文件中的我说:“可以将它们添加到您的计算机中.vimrc以启用/禁用其功能。” 但是我不确定如何通过设置它们:。这些变量不能通过set或使用echo,它们也不是命令或功能。如何设置/检查这些?
我用Vundle 安装了此插件,并注意到它具有一些设置(自述文件将其称为变量),例如:
b:javascript_fold
和
g:javascript_conceal
自述文件中的我说:“可以将它们添加到您的计算机中.vimrc以启用/禁用其功能。” 但是我不确定如何通过设置它们:。这些变量不能通过set或使用echo,它们也不是命令或功能。如何设置/检查这些?
Answers:
这些是内部变量。
您可以使用以下: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,将局部缓冲区变量用于文件类型插件。
配置变量不是选项,它们仅“模拟”插件变量。因此,您无需使用:set,而是:let(并:echo列出其当前值)。
变量前面的符号决定了它的范围。g:表示全球;通常需要在插件加载之前进行设置,即通过放置
let g:javascript_conceal = 1
进入您的~/.vimrc(并重新启动Vim)。
由于某些配置仅适用于某些文件类型,因此它们使用b:前缀。设置它们~/.vimrc只是将它们应用于第一个打开的缓冲区,这不是您想要的。相反,您需要使用文件类型检测机制。
如果您只想为某些文件类型启用config选项,请:let b:var = value改用,然后将相应的命令放入中~/.vim/after/ftplugin/{filetype}.vim,其中{filetype}是实际文件类型(例如javascript)。(这要求您具有:filetype plugin on;使用after目录允许您覆盖$VIMRUNTIME/ftplugin/{filetype}.vim。所做的任何默认文件类型设置。)
另外,您可以:autocmd FileType {filetype} setlocal option=value直接在中定义一个~/.vimrc,但是一旦您进行了许多自定义,这往往变得很笨拙。
autocmd Filetype javascript let b:javascript_fold = 1