Yanıtlar:
let
bir değişkene set
bir değer atar ve Vim'in iç seçeneklerinden birine bir değer atar.
Mesela kullanırdın
:let mystring='Hello!'
yeni bir değişken bildirmek için
:set tabstop=4
veya
:set expandtab
Vim'in seçeneklerinden birini ayarlamak için.
Ayrıca bakınız: :help let
, :help set
.
g:
sadece global bir değişkeni işaret eder. Bunlardan birçoğu "değişken ad alanları" vardır :help internal-variables
:
(nothing) In a function: local to a function; otherwise: global
|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.
:set
dahili seçenekler için kullanılır ve seçeneğin türlerini işler. Bir boole seçeneklerinin tersine çevrilmesi gibi şeylere izin verir (örn. :set invpaste
) Listeye ayar ekleme ve çıkarma (örn. :set dictionary-=/tmp/myfile
).
:let
Öte yandan, bunun yerine sahip gibi basit bir değerin, vb düzenli değişkenler, seçenekler, kayıtlar ve değerini sette dahil vim değiştirilebilir şeyler, bir bolluk erişimi ifadenin değerlendirme sonucu verir :set
ki araçlarla :let
matematik, string manipülasyon ve fonksiyonlara erişmenizi sağlar.
Örneğin, şunları yapabilirsiniz :let &dictionary=/tmp/myfile
seçeneği belirlemek için 'dictionary'
için /tmp/myfile
(dolayısıyla yukarıda gösterilen aynı seçeneği değiştirerek :set
örneğin)
İle genel bir değişken ayarlayabilirsiniz :let g:myvar=42
. İstediğiniz önek kapsam sağlar. Doorknob'un cevabı kapsamı çok iyi kapsar.
A :let @a="Some text"
kaydının içeriğini, örneğin Some text
sonradan yapıştırabileceğiniz, değiştirebilirsiniz "ap
.
Şunları yapabilirsiniz :let $PATH = $PATH . ":/home/me/bin"
kendi bin dizini eklemek için PATH
(bu herhangi ortam değişkeni için çalışır) Vim tarafından yürütülen herhangi bir dış komutları geçirilir ortam değişkeni.
let
Oldukça güçlü yetenekleri olmasına rağmen ( :let $MYFILE = @%
bir ortam değişkenini mevcut tamponun dosya adına göre ayarlamak gibi ), bir ayarın bir boolean olduğunu bilmediğinden, hoş erişim veya hata denetimi gibi bir :set
şey sunmuyor.
Sonunda, iş için en iyi aracı kullanmakla ilgili. Bir seçeneği basitçe değiştirmek istiyorsanız :set
, aracınızdır. Bilgileri kayıtlar, seçenekler, değişkenler arasında hareket ettirmek veya değerinizi bir ifadenin sonucuna dayandırmak istiyorsanız :let
, aracınız olur.
Açıkça Vim'den sorulmasına rağmen, dikkat edilmesi gereken diğer bir husus :set
, vi / Vim ailelerinde :let
daha yaygın olduğu , daha az yaygın olduğu (örneğin, nvi'nin bir let
komutu olmadığı ve viemu'nun kayıtlara erişim sağlamadığı let
). .
let
:let &{option name}=value