Vim'de, bir önekle başlayan ayarlar / komutlar nelerdir (b :, g :)?


26

Ben yüklü bu eklenti Vundle ile ve benzeri bazı ayarları (README onları değişkenleri çağırır) olduğunu fark:

b:javascript_fold

ve

g:javascript_conceal

README, " .vimrcözelliklerini etkinleştirmek / devre dışı bırakmak için bunları ekleyebilirim" diyor . Ama onları nasıl ayarlayacağımı bilmiyorum :. Bu değişkenler setveya aracılığıyla kullanılamazlar echo, ne de komutlar veya fonksiyonlar. Bunları nasıl ayarlayabilir / denetleyebilirim?

Yanıtlar:


48

Bunlar dahili değişkenler.

Bunları şu :letkomutla oluşturup değiştirirsiniz :

:let g:var_name = 1

Onları yok ettin :unlet.

Onları inceliyorsun :echo.

Önek, değişkenin kapsamını gösterir; from :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.

Bu değişken türünü kendinize eklemek şu şekildedir ~/.vimrc:

let g:var_name = 1

Genellikle, sadece global değişkenlerinize eklenecek ~/.vimrc, tampon-yerel değişkenler dosya tipi eklentilerinde kullanılacaktır.


2
Bütünlüğü için: önek olmadan: Bir işlevde: bir işlev için yerel; Aksi halde: global
Tom Hale,

11

Konfigürasyon değişkenleri seçenek değildir, sadece eklentiler için olanları "öykünür". Bu nedenle, kullanmazsınız :set, ancak :let(ve :echogeçerli değerlerini listelemek için).

Değişkenin önündeki sigil kapsamını belirler. g:küresel demektir; Bunlar genellikle eklenti yüklenmeden önce , yani

let g:javascript_conceal = 1

içine ~/.vimrc(ve Vim yeniden başlatılıyor).

Bazı yapılandırmalar yalnızca belirli dosya tiplerine uygulandığından , bunlar b:ön eki kullanır . Bunları ayarlamak, onları ~/.vimrcilk açılmış ara belleğe uygular; bu istediğiniz şey değildir. Bunun yerine, dosya türü algılama mekanizmasına bağlamanız gerekir .

Yalnızca belirli dosya türleri için bir yapılandırma seçeneğini etkinleştirmek istiyorsanız, :let b:var = valuebunun yerine kullanın ve karşılık gelen komutları gerçek dosya türü (örn. ) İçine ~/.vim/after/ftplugin/{filetype}.vimyerleştirin . (Bu, şunların olmasını gerektirir ; after dizininin kullanımı, tarafından yapılan varsayılan dosya ayarları ayarlarını geçersiz kılmanıza olanak sağlar .){filetype}javascript:filetype plugin on$VIMRUNTIME/ftplugin/{filetype}.vim

Alternatif olarak, :autocmd FileType {filetype} setlocal option=valuedoğrudan için bir tanım tanımlayabilirsiniz ~/.vimrc, ancak çok fazla özelleştirmeniz olduğunda bu hantallaşmaya meyillidir.

autocmd Filetype javascript let b:javascript_fold = 1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.