Bagaimana saya bisa mengetahui apa yang diatur <Leader>? Dan apakah mungkin untuk memetakan ulang <Leader>?


64

Bagaimana saya bisa mengetahui kunci mana yang ditetapkan sebagai milik saya <Leader>, dan bagaimana cara memetakannya kembali?

Jawaban:


62

Secara default , <leader>is \backslash Anda. Anda dapat memeriksanya dengan:

:echo mapleader

Jika ini memberi Anda E121: Undefined variable: mapleader, itu berarti sudah diatur ke default \. Jika itu memberi Anda sesuatu yang lain, maka itu adalah :-)

Anda dapat dengan mudah memetakannya kembali. Saya memetakannya ke space-bar:

:let mapleader = "\<Space>"

Perhatikan bahwa nilai mapleaderdigunakan pada saat pemetaan didefinisikan. Jadi contoh ini:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

Akan menghasilkan dua pemetaan: ,adan <Space>a.

Ini berarti bahwa saat ini nilai mapleaderbelum tentu nilai yang digunakan untuk menentukan pemetaan Anda!

Selain itu, ada maplocalleader, yang sama dengan mapleader, kecuali bahwa itu digunakan oleh <LocalLeader>dan itu lokal ke buffer saat ini.

Informasi lebih lanjut tentang <Leader>dapat ditemukan dalam bantuan Vim dengan :help mapleader.


3
Mengapa kita membutuhkan backslash "\<Space>"?
thameera

10
Backslash diperlukan karena jika tidak vim akan mengenali "<Space>" sebagai string normal dan bukan kode untuk kunci spasi. Lihat :help expr-stringcontohnya.
tokoyami

1
Hanya sebuah catatan: misalnya let mapleader = ' 'juga berfungsi untuk pengaturan <Leader>ke ruang. Jika ada kemungkinan efek samping dengan menggunakan sintaks ini, silakan sebutkan.
Daniel Andersson

Tampaknya maplocalleaderjuga diatur ke backslash secara default. Mungkin itulah yang dimaksud dengan "sama dengan mapleader, tetapi pada awalnya saya tidak yakin.
Mars

Bagaimana saya bisa membatalkan let mapleader = ","setelah fakta? Saya mencoba unlet mapleaderjuga let mapleader = "\"tetapi tidak berhasil. Saya memerlukan ini karena saya menggunakan bundel ini github.com/amix/vimrc di mana ia menyarankan untuk memiliki file konfigurasi saya sendiri yang terpisah. Bundel memetakan pemimpin ke koma jadi saya ingin membatalkan ini di file konfigurasi terpisah saya.
Michael

8

Anda dapat menampilkan kunci pemimpin saat ini seperti ini :let mapleader


4
Mencoba ini, saya mengerti E121: Undefined variable: mapleader.
Praxeolitic

Kemudian karena alasan tertentu pemimpin map tidak disetel atau tidak disetel
craigp

5
Oh, mengerti. Hanya sebuah catatan untuk orang lain, jika Anda tidak menetapkan kunci pemimpin secara eksplisit maka Anda mendapatkan kesalahan di atas.
Praxeolitic

jika Anda mendapatkannya E121: Undefined variable: mapleader, itu berarti tidak disetel, yang akan menggunakan default, yang merupakan backslash"\"
wisbucky
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.