Di Vim, pengaturan / perintah apa yang dimulai dengan awalan (b :, g :)?


26

Saya menginstal plugin ini dengan Vundle dan memperhatikan bahwa ia memiliki beberapa pengaturan (README menyebutnya variabel) seperti:

b:javascript_fold

dan

g:javascript_conceal

README mengatakan saya, "dapat menambahkannya ke Anda .vimrcuntuk mengaktifkan / menonaktifkan fitur-fiturnya." Tapi saya tidak yakin bagaimana cara mengaturnya :. Variabel-variabel ini tidak tersedia melalui setatau echo, juga tidak mereka perintah atau fungsi. Bagaimana saya bisa mengatur / menginspeksi ini?

Jawaban:


48

Ini adalah variabel internal.

Anda membuat dan memodifikasinya dengan :letperintah:

:let g:var_name = 1

Anda menghancurkan mereka dengan :unlet.

Anda memeriksanya dengan :echo.

Awalan menunjukkan cakupan variabel; dari :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.

Menambahkan variabel semacam itu ke Anda ~/.vimrcberjalan seperti ini:

let g:var_name = 1

Biasanya, hanya variabel global yang akan ditambahkan ke Anda ~/.vimrc, variabel buffer-lokal akan digunakan dalam plugin tipe file.


2
Untuk kelengkapan: tanpa awalan: Dalam suatu fungsi: lokal ke suatu fungsi; kalau tidak: global
Tom Hale

11

Variabel konfigurasi bukan opsi, mereka hanya "meniru" mereka untuk plugin. Oleh karena itu, Anda tidak menggunakan :set, tetapi :let(dan :echomencantumkan nilainya saat ini).

Sigil di depan variabel menentukan cakupannya. g:berarti global; yang biasanya perlu diatur sebelum plugin dimuat, yaitu dengan menempatkan

let g:javascript_conceal = 1

ke ~/.vimrc(dan mulai ulang Vim) Anda.

Karena beberapa konfigurasi hanya berlaku untuk tipe file tertentu , ini menggunakan b:awalan. Mengaturnya ~/.vimrchanya akan menerapkannya ke buffer pertama yang dibuka, yang bukan yang Anda inginkan. Sebaliknya, Anda perlu menghubungkan ke mekanisme deteksi tipe file .

Jika Anda hanya ingin mengaktifkan opsi konfigurasi untuk tipe file tertentu, gunakan :let b:var = valuesebagai gantinya, dan masukkan perintah yang sesuai ~/.vim/after/ftplugin/{filetype}.vim, di mana {filetype}jenis file yang sebenarnya (misalnya javascript). (Ini mengharuskan Anda memiliki :filetype plugin on; penggunaan direktori setelah memungkinkan Anda untuk menimpa pengaturan jenis file standar yang dilakukan oleh $VIMRUNTIME/ftplugin/{filetype}.vim.)

Atau, Anda bisa menentukan :autocmd FileType {filetype} setlocal option=valuelangsung di Anda ~/.vimrc, tetapi ini cenderung menjadi sulit setelah Anda memiliki banyak penyesuaian.

autocmd Filetype javascript let b:javascript_fold = 1
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.