在 Vim 中,以前綴 (b:, g:) 開頭的設定/指令是什麼?

在 Vim 中,以前綴 (b:, g:) 開頭的設定/指令是什麼?

我安裝了這個插件使用 Vundle 並注意到它有一些設定(自述文件稱它們為變數),例如:

b:javascript_fold

g:javascript_conceal

自述文件說我“可以將它們添加到您的.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, but :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

相關內容