Was sind in Vim Einstellungen/Befehle, die mit einem Präfix (b:, g:) beginnen?

Was sind in Vim Einstellungen/Befehle, die mit einem Präfix (b:, g:) beginnen?

ich installiertedieses Pluginmit Vundle und habe bemerkt, dass es einige Einstellungen hat (in der README-Datei werden sie als Variablen bezeichnet) wie:

b:javascript_fold

Und

g:javascript_conceal

In der README-Datei steht, dass ich sie „zu meiner hinzufügen kann, .vimrcum ihre Funktionen zu aktivieren/deaktivieren“. Aber ich bin nicht sicher, wie ich sie über einstellen kann :. Diese Variablen sind nicht über setoder verfügbar echo, noch sind es Befehle oder Funktionen. Wie kann ich diese einstellen/überprüfen?

Antwort1

Dies sind interne Variablen.

Sie erstellen und ändern sie mit dem :letBefehl:

:let g:var_name = 1

Sie zerstören sie mit :unlet.

Sie überprüfen sie mit :echo.

Das Präfix zeigt den Gültigkeitsbereich der Variable an; von :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.

Das Hinzufügen einer solchen Variable geht ~/.vimrcfolgendermaßen:

let g:var_name = 1

Normalerweise sollten nur globale Variablen zu Ihrem hinzugefügt werden ~/.vimrc, in Dateityp-Plugins sollten pufferlokale Variablen verwendet werden.

Antwort2

Konfigurationsvariablen sind keine Optionen, sie „emulieren“ nur die für Plugins. Daher verwenden Sie nicht :set, sondern :let(und :echoum ihren aktuellen Wert aufzulisten).

Das Siegel vor der Variable bestimmt ihren Gültigkeitsbereich. g:bedeutet global; diese müssen normalerweise gesetzt werdenVordas Plugin wird geladen, also durch das Platzieren

let g:javascript_conceal = 1

in Ihr ~/.vimrc(und Neustart von Vim).

Da manche Konfigurationen nur für bestimmteDatentypen, diese verwenden das b:Präfix. Wenn Sie sie in setzen, ~/.vimrcwerden sie nur auf den ersten geöffneten Puffer angewendet, was nicht das ist, was Sie wollen. Stattdessen müssen Sie sich in dieDateityperkennungMechanismus.

Wenn Sie nur eine Konfigurationsoption für bestimmte Dateitypen aktivieren möchten, verwenden Sie :let b:var = valuestattdessen und geben Sie die entsprechenden Befehle in ein ~/.vim/after/ftplugin/{filetype}.vim, wobei {filetype}der tatsächliche Dateityp ist (z. B. javascript). (Dies erfordert, dass Sie über verfügen :filetype plugin on; Verwendung desnachVerzeichnis ermöglicht Ihnen das Überschreiben aller von vorgenommenen Standarddateitypeinstellungen $VIMRUNTIME/ftplugin/{filetype}.vim.)

Alternativ können Sie ein :autocmd FileType {filetype} setlocal option=valuedirekt in Ihrem definieren ~/.vimrc, aber das wird unhandlich, wenn Sie viele Anpassungen vorgenommen haben.

autocmd Filetype javascript let b:javascript_fold = 1

verwandte Informationen