Bir nedir .vimrc dosyasındaki <leader> nedir?


1069

<leader>Birçok .vimrcdosyada görüyorum ve bunun ne anlama geldiğini merak ediyorum?

Ne için kullanılır?

Sadece amaç ve kullanıma genel bir bakış harika olurdu.


10
Temel anlayışın <leader>klavye kısayollarınızı kullanarak etkili bir şekilde bir ad alanı oluşturduğunuzu ve özel kısayollarınızın yerleşik vim davranışına adım atmadığını anlamaya başladım . Daha fazla bilgi için aşağıdaki @Pete Schlette'in cevabına bakınız.
Kullanıcı

3
Ne olduğunu kontrol etmek istiyorsanız <leader>, :echo mapleaderveya tuşunu kullanın :let mapleader. Tanımsızsa, ters eğik çizgi olan varsayılanı kullanır"\"
wisbucky

Yanıtlar:


984

<Leader>Anahtar eşleştirilmiş \varsayılan olarak. Yani haritanız varsa + <Leader>tile varsayılan olarak yürütebilirsiniz . Daha fazla ayrıntı veya değişkeni kullanarak yeniden atama için bkz.\tmapleader

: yardım lideri

"Mapleader" değişkenini kullanan bir eşleme tanımlamak için özel dize
"<Leader>" kullanılabilir. "Mapleader" dize değeri ile değiştirilir.
"Mapleader" ayarlanmamış veya boş değilse, bunun yerine ters eğik çizgi kullanılır.  
Misal:
    : map <Leader> Başka bir satır <Esc>
Şunun gibi çalışır:
    : harita \ Başka bir satır <Esc>
Ama sonra:
    : mapleader = "," olsun
Şöyle çalışır:
    : harita, Başka bir satır <Esc>

"Mapleader" değerinin eşlemenin yapıldığı anda kullanıldığını unutmayın.
tanımladı. Bundan sonra "mapleader" ifadesinin değiştirilmesinin önceden tanımlanmış bir etkisi yoktur
eşleştirmeleri.



48
Değişiklik ,iyi bir şey. Ulaşmaktan çok daha kolay \\ ve ,vim'de zaten kim kullanıyor ?
Gabe Moothart

41
@Gabe Moothart. : h, "En son f, t, F veya T'yi ters yönde [sayım] kez tekrarlayın." Oldukça uygun.
Maxim Kim

10
Ayrıca burada iyi bir yazı
Sukotto

66
Alanı (' ')lider anahtar olarak beğeniyorum çünkü her iki elle de vurabiliyorum, takip tuşunu (klavyenin sol veya sağ tarafında olsun) daha sonra tetiklemek için eşit derecede hızlı hale getirebiliyorum. Klavyenin yalnızca bir tarafında bulunan lider bir tuşa sahip olmak, klavyenin aynı tarafındaki takip tuşlarına vurmanın biraz daha hantal hissetmesini sağlar. Nitpicky, biliyorum. :)
jefflunt

3
@jefflunt Sağ baş parmağım zaten hafta çünkü yazmak için hiç kullanmadım. Bu yüzden sadece sol parmağı boşluklara vurmak için kullanıyorum. Bu uzay lideri anahtarının bana aynı yararı sağlayacağını sanmıyorum.
off99555

263

<leader>Anahtarınıza bastığınızda, ardından gelen komutu girmek için yalnızca varsayılan olarak 1000 msniz olduğunu unutmayın.

Bulunduğundan bu şiddetlenir hiçbir (varsayılan olarak) görsel geribildirim size bastınız o <leader>anahtarı ve vim komutunu bekliyor; ve bu zaman aşımının ne zaman gerçekleştiğini bilmenin görsel bir yolu da yok.

Eğer eklerseniz set showcmdadresinden Müşteri vimrco zaman göreceksiniz <leader>anahtar ve belki daha da önemlisi bunu göreceksiniz (imleç konumu sola) vim sağ alt köşesinde görünür kaybolur zaman aşımı gerçekleştiğinde.

Zaman aşımı süresi de sizin için ayarlanabilir vimrc, :help timeoutlendaha fazla bilgi için bkz .


11
«: Set showcmd» geçerli komutu gösterir, böylece lider anahtar etkin olduğu zaman.
greg

4
Geri bildirim eksikliğine rağmen, varsayılan olarak görsel bir geri bildirim olmamakla birlikte, düğmesine basıldıktan sonra 1000 ms'de bir komut almazsa vim bir sistem zili çalar <leader>.
Bailey Parker

113

"Lider anahtarı", bir komutu gerçekleştirmek için anahtar dizilerini kullanarak VIM kısayollarının gücünü artırmanın bir yoludur. Varsayılan lider anahtarı ters eğik çizgidir. Bu nedenle, <Leader> Q haritanız varsa, \ Q yazarak bu eylemi gerçekleştirebilirsiniz.


4
\Qaynı zamanda? veya ilk ` release it and then Q`
Arnold Roa

9
@ArnoldRoa vim komutları her listelendiğinde, sözdizimi ggdGbu dört tuşa sırayla basmak anlamına gelir. Sözdizimi benzeri <C-w><C-j>, CTRL + w ve ardından CTRL + j tuşlarına basmak anlamına gelir.
gobernador

91

Vim'in <leader>anahtarı, tanımlamak istediğiniz komutlar için bir ad alanı oluşturmanın bir yoludur. Vim zaten birçok tuşu ve Ctrl+ (bazı anahtar) kombinasyonlarını eşleştirir , böylece <leader>(some key)sizin (veya eklentilerin) özel davranış ekleyebileceğiniz yer burasıdır.

Örneğin, kendinizi tam olarak 3 kelime ve 7 karakter sildiğinizde bulursanız, bir komutun eşlenmesini uygun bulabilirsiniz, nmap <leader>d 3dw7xböylece lider tuşuna ve ardından d'ye bastığınızda 3 kelime ve 7 karakter silinir. Lider anahtarını önek olarak kullandığından, önceden var olan herhangi bir davranışta durmadığınızdan (nispeten) emin olabilirsiniz.

İçin varsayılan anahtar <leader>olduğunu \, ancak komutunu kullanabilirsiniz :let mapleader = ","(başka bir tuşa bunu yeniden eşleştirmek için ,bu durumda).

Usevim'in lider anahtarındaki sayfasında daha fazla bilgi var.


sağlanan bağlantı 404s.
evanb

8

Benim sistemimde bu \anahtar. diğer karakterlerle birleştirebilmeniz için komutlar için kullanılır.

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.