<Leader> trong tệp .vimrc là gì?


1070

Tôi thấy <leader>trong nhiều .vimrctập tin, và tôi tự hỏi nó có nghĩa là gì?

Cái này được dùng để làm gì?

Chỉ cần một cái nhìn tổng quan về mục đích và cách sử dụng sẽ là tuyệt vời.


10
Tôi nhận ra rằng tôi nghĩ rằng sự hiểu biết chính là bằng cách sử dụng <leader>các phím tắt trên bàn phím, bạn đang tạo một không gian tên một cách hiệu quả để các phím tắt tùy chỉnh của bạn không bước vào hành vi vim tích hợp. Xem câu trả lời của @Pete Sch Muff bên dưới để biết thêm.
Người dùng

3
Nếu bạn muốn kiểm tra xem bạn <leader>là ai, hãy sử dụng :echo mapleaderhoặc :let mapleader. Nếu không được xác định, thì nó sẽ sử dụng mặc định, đó là dấu gạch chéo ngược"\"
wvducky

Câu trả lời:


984

Các <Leader>khóa được ánh xạ để \theo mặc định. Vì vậy, nếu bạn có một bản đồ <Leader>t, bạn có thể thực hiện nó theo mặc định với \+ t. Để biết thêm chi tiết hoặc gán lại bằng cách sử dụng mapleaderbiến, hãy xem

: giúp lãnh đạo

Để xác định ánh xạ sử dụng biến "mapleader", chuỗi đặc biệt
"<Lãnh đạo>" có thể được sử dụng. Nó được thay thế bằng giá trị chuỗi của "mapleader".
Nếu "mapleader" không được đặt hoặc trống, dấu gạch chéo ngược được sử dụng thay thế.  
Thí dụ:
    : map <Leader> Một dòng oanother <Esc>
Hoạt động như:
    : map \ Một dòng oanother <Esc>
Nhưng sau đó:
    : hãy để mapleader = ","
Nó hoạt động như:
    : map, Một dòng oanother <Esc>

Lưu ý rằng giá trị của "mapleader" được sử dụng tại thời điểm ánh xạ
xác định. Thay đổi "bản đồ" sau đó không có hiệu lực đối với đã được xác định
ánh xạ.



48
Thay đổi ,là một trong những tốt. Dễ dàng tiếp cận hơn nhiều \\ , và ai sử dụng ,trong vim nào?
Gabe Moothart

41
@Gabe Moothart. : h, cung cấp cho bạn "Lặp lại f, t, F hoặc T mới nhất theo hướng ngược lại [đếm] lần." Nó khá thuận tiện.
Maxim Kim

10
Ngoài ra còn có một bài viết hay ở đây: stevelosh.com/blog/2010/09/come-home-to-vim/#USE-the-leader
Sukotto

66
Tôi thích không gian (' ')như một phím dẫn bởi vì tôi có thể nhấn nó bằng một trong hai tay, tạo phím theo dõi (cho dù nó ở bên trái hay bên phải của bàn phím) nhanh chóng như nhau để kích hoạt sau đó. Có một phím chỉ có ở một bên của bàn phím, việc nhấn các phím theo dõi ở cùng một phía của bàn phím sẽ cảm thấy hơi cồng kềnh. Nitpicky, tôi biết. :)
jefflunt

3
@jefflunt Ngón tay cái bên phải của tôi đã được một tuần vì tôi chưa bao giờ sử dụng nó để gõ. Vì vậy, tôi chỉ sử dụng ngón tay cái trái để đánh dấu cách. Chìa khóa không gian đó không mang lại lợi ích tương tự cho tôi, tôi đoán vậy.
off99555

263

Xin lưu ý rằng khi bạn nhấn <leader>phím, bạn chỉ có 1000ms (theo mặc định) để nhập lệnh theo sau nó.

Điều này trở nên trầm trọng hơn vì không có phản hồi trực quan (theo mặc định) rằng bạn đã nhấn phím của mình <leader>và vim đang chờ lệnh; và vì vậy cũng không có cách nào trực quan để biết khi nào thời gian này đã xảy ra.

Nếu bạn thêm set showcmdvào vimrcthì bạn sẽ thấy <leader>khóa của mình xuất hiện ở góc dưới bên phải của vim (bên trái của vị trí con trỏ) và có lẽ quan trọng hơn là bạn sẽ thấy nó biến mất khi hết thời gian.

Độ dài của thời gian chờ cũng có thể được đặt trong của bạn vimrc, xem :help timeoutlenđể biết thêm thông tin.


11
«: Set showcmd» hiển thị lệnh hiện tại do đó khóa lãnh đạo thời gian nó hoạt động.
greg

4
Do thiếu thông tin phản hồi, mặc dù theo mặc định không có phản hồi trực quan, có vẻ như vim sẽ phát ra tiếng chuông hệ thống nếu nó không nhận được lệnh trong 1000ms sau khi bạn nhấn <leader>.
Bailey Parker

113

"Khóa lãnh đạo" là cách mở rộng sức mạnh của các phím tắt của VIM bằng cách sử dụng các chuỗi phím để thực hiện lệnh. Khóa lãnh đạo mặc định là dấu gạch chéo ngược. Do đó, nếu bạn có bản đồ <Lãnh đạo> Q, bạn có thể thực hiện hành động đó bằng cách nhập \ Q.


4
\Qđồng thời? hoặc ` release it and then Q` đầu tiên
Arnold Roa

9
@ArnoldRoa Bất cứ khi nào các lệnh vim được liệt kê, cú pháp ggdGcó nghĩa là nhấn bốn phím đó một cách tuần tự. Một cú pháp như <C-w><C-j>có nghĩa là nhấn CTRL + w, theo sau là CTRL + j.
gobernador

91

<leader>Khóa của Vim là cách tạo không gian tên cho các lệnh bạn muốn xác định. Vim đã ánh xạ hầu hết các khóa và kết hợp Ctrl+ (một số phím), do đó <leader>(some key), nơi bạn (hoặc plugin) có thể thêm hành vi tùy chỉnh.

Ví dụ: nếu bạn thấy mình thường xuyên xóa chính xác 3 từ và 7 ký tự, bạn có thể thấy thuận tiện khi ánh xạ lệnh qua nmap <leader>d 3dw7xđể nhấn phím trưởng theo sau là d sẽ xóa 3 từ và 7 ký tự. Vì nó sử dụng khóa lãnh đạo làm tiền tố, nên bạn có thể (tương đối) yên tâm rằng bạn không dậm chân trước bất kỳ hành vi nào tồn tại trước đó.

Khóa mặc định cho <leader>\, nhưng bạn có thể sử dụng lệnh :let mapleader = ","để ánh xạ lại sang khóa khác ( ,trong trường hợp này).

Trang của Usevim trên khóa trưởng có nhiều thông tin hơn.


các liên kết 404 được cung cấp.
evanb

8

Trong hệ thống của tôi, nó là \chìa khóa. nó được sử dụng cho các lệnh để bạn có thể kết hợp nó với các ký tự khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.