Yanıtlar:
letbir değişkene setbir 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.
:setdahili 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 :setki araçlarla :letmatematik, string manipülasyon ve fonksiyonlara erişmenizi sağlar.
Örneğin, şunları yapabilirsiniz :let &dictionary=/tmp/myfileseç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 textsonradan 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.
letOldukç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 :letdaha yaygın olduğu , daha az yaygın olduğu (örneğin, nvi'nin bir letkomutu olmadığı ve viemu'nun kayıtlara erişim sağlamadığı let). .
let:let &{option name}=value