SPACE'i VIM'de akçaağaç olarak kullanabilir miyim?


84

Gönderen http://items.sjbach.com/319/configuring-vim-right Sana kullanabilmek için gerekiyordu ki var Spacevim mapleader olarak. Denedim ama işe yaramadı. Çalıştıran kimse var mı?

Denenmiş:

let mapleader = <space>

7
Harika! Aynı blog gönderisini okuyun ve <SPACE> denedikten sonra bunu buldum ... MacVim'de bunun "bir karakter ileri git" eşlemesini boşluk çubuğundan kaldırmadığını, bu nedenle bunu Google'dan bulan diğer kişiler için - ekle "Let mapleader ..." dan önce "nnoremap <SPACE> <Nop>" bu benim için çalıştı.
michiakig

Yanıtlar:


100

Bunun yerine aşağıdakileri deneyin:

let mapleader=" "

Boşluk çubuğunun önceden herhangi bir eşleme içermediğinden emin olmak için bundan önce aşağıdaki satırı yazmayı unutmayın:

nnoremap <SPACE> <Nop>

19
Spacemanaki'nin yukarıdaki soruda yorumladığı gibi nnoremap <SPACE> <Nop>, bunun işe yaraması için gerekliydi.
Sasha

1
@Sasha: gerçekten mi? Nedenini açıklar mısınız ve gerçekten öyleyse, belki soruyu düzenlemelisiniz.
greg0ire

4
Sasha'nın eşlemesi olmadan, <Space> tuşuna basmak, akçaağaç olarak diğer tuşlar gibi davranmaz. Normal modda <Space>, <right> ile eşlenir. Arka arkaya birkaç kez <boşluk> tuşuna basın, istenmeyen davranışları göreceksiniz, bu da düzeltilebilir nnoremap <Space> <nop>.
freeo

3
Bu yanıta eklemek için, mapleaderalır değerinin yalnızca mapleaderayarlandıktan sonra gerçekleşen eşlemeleri etkilediğini unutmayın . Bakın :help leader.
evnu

RC dosyasını kaydetmem ve kapatmam gerekiyordu. Ben kullanıyordum :source %ama uzay remap çalışma değildi.
Jonathan Morales Vélez

67

Mapleader bir Vim string değişkenidir. Boşluğu lider olarak kullanmak için özel karakterden kaçmalısınız.

let mapleader = "\<Space>"

Daha fazla bilgi için bkz.

http://vimdoc.sourceforge.net/htmldoc/eval.html#expr-quote

DÜZENLE:

Bu artık benim Vim versiyonumda çalışmıyor. Normal modda boşluk çubuğunu çalıştırarak eşlemenin kaldırılması yorumlarındaki öneriyle bile nnoremap <SPACE> <Nop>.

Aşağıdaki cevapta verilen çözüme devam ediyorum.

map <Space> <Leader>

1
Ayrıca, çift tırnak kullandığınızdan emin olun "\<Space>"ve değil '\<Space>'.
crlane

1
Bu cevabı tercih ederim.
Sang Đặng

let mapleader = "\<Space>"benim için nvim'de çalıştı, ama vim'de değil. map <Space> <Leader>ayrıca benim için vim içinde çalışmıyor.
Günter Zöchbauer

noremap <Space> <Nop> map <Space> <Leader>çalıştı vim
Günter Zöchbauer

=Neovim'de benimkinin çalışması için etrafındaki alanı kaldırmak zorunda kaldım.
Nikhil CSB

18

Yukarıdaki çözümler harika, ancak sağ alt komut köşesinde hiçbir şey görünmüyor. \Yine de anahtar için herhangi bir kullanımınız yoksa, kullanmayı deneyin map <SPACE> <leader>ve \komut köşesinde görünecektir. Bu ve yukarıdaki tavsiyelerde önerildiği gibi önce alanın haritasını kaldırmak zorunda değilsiniz.


3
Bu, The NERD Commenter'ı bozar. Ve en azından Vim 8 ve Neovim'de boşluk varmış gibi <20>görünüyor showcmd, bu yüzden yeterince yeni Vim ile bu cevabın eskimiş olduğunu tahmin ediyorum.
user31389

Varsayılan lider için zaten kas hafızası geliştirdiyseniz, ancak bunun yerine daha iyi verimlilik için alan kullanmaya başlamak istiyorsanız, bunun en iyi çözüm olduğunu buraya eklemek istiyorum. "\ r" hala Nerd Tree'yi açmak ve cscope kullanmak için kas hafızamla bağlantılı, bu yüzden alanı liderle haritalandırırken bile çalışmaya devam etmesi güzel (yine de Nerd Commenter'ı kullanma ihtiyacı hissetmiyorum).
DrEsperanto
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.