Apa itu <leader> dalam file .vimrc?

1071

Saya melihat <leader>di banyak .vimrcfile, dan saya bertanya-tanya apa artinya?

Untuk apa ini digunakan?

Hanya gambaran umum tentang tujuan dan penggunaannya akan bagus.

Bob Martens
sumber
10
Saya mulai menyadari bahwa saya pikir pemahaman kuncinya adalah bahwa dengan menggunakan <leader>di pintasan keyboard Anda, Anda secara efektif membuat namespace sehingga pintasan kustom Anda tidak menginjak perilaku vim bawaan. Lihat jawaban @Pete Schlette di bawah ini untuk informasi lebih lanjut.
Pengguna
3
Jika Anda ingin memeriksa apakah Anda <leader>, gunakan :echo mapleaderatau :let mapleader. Jika tidak terdefinisi, maka akan menggunakan default, yang merupakan backslash"\"
wisbucky

Jawaban:

985

The <Leader>kunci dipetakan ke \default. Jadi jika Anda memiliki peta <Leader>t, Anda dapat menjalankannya secara default dengan \+ t. Untuk detail lebih lanjut atau menetapkan ulang menggunakan mapleadervariabel, lihat

: bantu pemimpin

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> Garis lain <Esc>
Bekerja seperti:
    : map \ Garis lain <Esc>
Tapi setelah:
    : biarkan mapleader = ","
Ini berfungsi seperti:
    : map, Baris lain <Esc>

Perhatikan bahwa nilai "mapleader" digunakan pada saat pemetaan dilakukan
didefinisikan. Mengubah "mapleader" setelah itu tidak berpengaruh karena sudah ditentukan
pemetaan.


Vereb
sumber
48
Perubahan ,menjadi bagus. Jauh lebih mudah dijangkau daripada \\ , dan siapa yang menggunakan ,vim?
Gabe Moothart
41
@ Gabe Moothart. : h, memberi Anda "Ulangi f, t, F atau T terbaru dalam arah yang berlawanan [hitung] kali." Cukup nyaman.
Maksim Kim
10
Ada juga aa Langgan baik di sini: stevelosh.com/blog/2010/09/coming-home-to-vim/#using-the-leader
Sukotto
66
Saya menyukai ruang (' ')sebagai kunci pemimpin karena saya dapat menekannya dengan kedua tangan, membuat tombol tindak lanjut (apakah itu di sisi kiri atau kanan keyboard) sama cepatnya untuk memicu sesudahnya. Memiliki kunci pemimpin yang hanya ada di satu sisi keyboard membuat menekan tombol tindak lanjut di sisi yang sama dengan keyboard terasa sedikit lebih rumit. Nitpicky, saya tahu. :)
jefflunt
3
@jefflunt Jempol kanan saya sudah seminggu karena saya belum pernah menggunakannya untuk mengetik. Jadi saya hanya menggunakan ibu jari kiri untuk memukul spasi. Kunci pemimpin ruang angkasa itu tidak memberikan manfaat yang sama bagi saya, saya kira.
off99555
263

Ketahuilah bahwa ketika Anda menekan <leader>tombol, Anda hanya memiliki 1000 ms (secara default) untuk memasukkan perintah yang mengikutinya.

Ini diperburuk karena tidak ada umpan balik visual (secara default) bahwa Anda telah menekan <leader>tombol Anda dan vim sedang menunggu perintah; jadi tidak ada cara visual untuk mengetahui kapan waktu habis ini terjadi.

Jika Anda menambahkan set showcmdke Anda vimrcmaka Anda akan melihat <leader>kunci Anda muncul di sudut kanan bawah vim (di sebelah kiri lokasi kursor) dan mungkin yang lebih penting Anda akan melihatnya menghilang ketika waktu habis terjadi.

Panjang batas waktu juga dapat diatur di Anda vimrc, lihat :help timeoutlenuntuk informasi lebih lanjut.

davetapley
sumber
11
«: Set showcmd» menampilkan perintah saat ini maka kunci pemimpin waktu aktif.
greg
4
Untuk kurangnya umpan balik, sementara secara default tidak ada umpan balik visual, tampaknya vim akan membunyikan bel sistem jika tidak menerima perintah dalam 1000ms setelah Anda menekan <leader>.
Bailey Parker
113

"Kunci pemimpin" adalah cara untuk memperluas kekuatan pintasan VIM dengan menggunakan urutan tombol untuk melakukan perintah. Kunci pemimpin default adalah garis miring terbalik. Karena itu, jika Anda memiliki peta <Leader> Q, Anda dapat melakukan tindakan itu dengan mengetikkan \ Q.

Mikeage
sumber
4
\Qpada waktu bersamaan? atau ` release it and then Q` pertama
Arnold Roa
9
@ArnoldRoa Setiap kali perintah vim terdaftar, sintaks ggdGberarti menekan empat tombol secara berurutan. Sintaks like <C-w><C-j>means untuk menekan CTRL + w, diikuti oleh CTRL + j.
gobernador
91

<leader>Kunci Vim adalah cara membuat namespace untuk perintah yang ingin Anda tetapkan. Vim sudah memetakan sebagian besar tombol dan kombinasi Ctrl+ (beberapa tombol), begitu <leader>(some key)juga Anda (atau plugin) dapat menambahkan perilaku khusus.

Misalnya, jika Anda menemukan diri Anda sering menghapus tepat 3 kata dan 7 karakter, Anda mungkin merasa nyaman untuk memetakan perintah melalui nmap <leader>d 3dw7xsehingga menekan tombol pemimpin diikuti oleh d akan menghapus 3 kata dan 7 karakter. Karena menggunakan kunci pemimpin sebagai awalan, Anda dapat (relatif) yakin bahwa Anda tidak menginjak-injak perilaku yang sudah ada sebelumnya.

Kunci default untuk <leader>adalah \, tetapi Anda dapat menggunakan perintah :let mapleader = ","untuk memetakannya kembali ke kunci lain ( ,dalam hal ini).

Halaman Usevim pada kunci pemimpin memiliki informasi lebih lanjut.

Pete Schlette
sumber
tautan 404 yang disediakan.
evanb
8

Dalam sistem saya \kuncinya. ini digunakan untuk perintah sehingga Anda bisa menggabungkannya dengan karakter lain.

Arkaitz Jimenez
sumber