Apa itu <Leader>?

36

Saya <Leader>cukup sering melihat di file vimrc orang lain. Seperti yang ini.

Apa itu? Apa fungsinya?

Lyndon White
sumber
1
kemungkinan duplikat dari Bagaimana cara mengetahui <Leader> diatur ke apa?
akshay
10
Akshay: Bukan duplikat, yang ingin memeriksa nilainya <leader>, yang ini ingin tahu apa <leader>artinya. Sehingga nilai itu bisa diartikan. Inilah perbedaan antara bertanya, "Dalam gerak newton, apa itu v?" dan "Mengingat sebuah apel jatuh dari pohon setinggi 10m, apa v ketika menyentuh tanah? '
Lyndon Putih
3
Jadi, tidak ada perbedaan antara <Leader>dan <leader>, kan?
Nikos Alexandris

Jawaban:

25

Vim penuh dengan berbagai perintah, yang ditugaskan untuk hampir semua tombol pada keyboard. Tapi ini menyebabkan masalah: Perintah mana yang bisa kita gunakan untuk perintah kita sendiri, tanpa mengganggu yang sudah ada? Dan pada saat ini, <Leader>kuncinya mulai berlaku. Pikirkan tentang <Leader>-kunci seperti namespace untuk perintah yang ditentukan pengguna. Anda dapat menetapkan perintah apa pun untuk pemetaan dengan pemimpin <Leader>dan Anda dapat sepenuhnya yakin bahwa pemetaan Anda tidak akan merusak apa pun.

Kunci default untuk <Leader>adalah garis miring terbalik.

Alexander Myshov
sumber
15

Mengutip :help <Leader>:

Untuk mendefinisikan pemetaan yang menggunakan variabel "mapleader", string khusus " <Leader>" dapat digunakan. Itu diganti dengan nilai string "mapleader". Jika "mapleader" tidak disetel atau kosong, backslash digunakan sebagai gantinya. Contoh:

   :map <Leader>A  oanother line<Esc>  

Bekerja seperti:

   :map \A  oanother line<Esc>  

Tapi setelah:

   :let mapleader = ","  

Ini berfungsi seperti:

   :map ,A  oanother line<Esc>

Dengan kata lain, ini memungkinkan kunci pertama pemetaan (ditentukan dalam hal <Leader>) didefinisikan pengguna.

John O'M.
sumber
8
Saya percaya bahwa alasan di baliknya <Leader>adalah bahwa ia memberi Anda cara "bersih" untuk menyediakan pintasan khusus, tanpa mengabaikan pintasan Vim yang ada.
Martin Tournoij