Làm cách nào tôi có thể tìm ra <Nhà lãnh đạo> được đặt thành gì? Và có thể sắp xếp lại <Nhà lãnh đạo> không?


64

Làm cách nào tôi có thể tìm ra khóa nào được đặt là của tôi <Leader>và làm cách nào để sắp xếp lại nó?

Câu trả lời:


62

Theo mặc định của bạn <leader>\, dấu gạch chéo ngược. Bạn có thể kiểm tra nó với:

:echo mapleader

Nếu điều này mang lại cho bạn E121: Undefined variable: mapleader, điều đó có nghĩa là nó được đặt thành mặc định \. Nếu nó mang lại cho bạn thứ gì khác, thì đó là :-)

Bạn có thể dễ dàng sắp xếp lại nó. Tôi đã ánh xạ nó tới thanh không gian:

:let mapleader = "\<Space>"

Lưu ý rằng giá trị của mapleaderđược sử dụng tại thời điểm ánh xạ được xác định. Vì vậy, ví dụ này:

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

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

Sẽ tạo ra hai ánh xạ: ,a<Space>a.

Điều này có nghĩa là giá trị hiện tạimapleader không nhất thiết là giá trị được sử dụng để xác định ánh xạ của bạn!

Ngoài ra, còn có maplocalleader, giống như mapleader, ngoại trừ việc nó được sử dụng bởi <LocalLeader>và nó là cục bộ của bộ đệm hiện tại.

Thông tin thêm về <Leader>có thể được tìm thấy trong trợ giúp của Vim với :help mapleader.


3
Tại sao chúng ta cần một dấu gạch chéo ngược trong "\<Space>"?
thameera

10
Dấu gạch chéo ngược là bắt buộc vì nếu không vim sẽ nhận ra "<Space>" là một chuỗi bình thường và không phải là mã cho phím cách. Xem :help expr-stringví dụ.
tokoyami 4/2/2015

1
Chỉ cần một lưu ý: ví dụ let mapleader = ' 'cũng hoạt động để thiết lập <Leader>không gian. Nếu có bất kỳ tác dụng phụ nào có thể xảy ra bằng cách sử dụng cú pháp này, vui lòng đề cập đến chúng.
Daniel Andersson

Dường như nó maplocalleadercũng được đặt thành dấu gạch chéo ngược theo mặc định. Có lẽ đó là những gì có nghĩa là "giống như mapleader, nhưng tôi không chắc chắn lúc đầu.
Sao Hỏa

Làm thế nào tôi có thể hoàn tác let mapleader = ","sau khi thực tế? Tôi cố gắng unlet mapleadercũng như let mapleader = "\"nhưng nó không hoạt động. Tôi cần điều này bởi vì tôi đang sử dụng gói này github.com/amix/vimrc nơi nó gợi ý có tệp cấu hình riêng của tôi. Gói ánh xạ dẫn đến dấu phẩy vì vậy tôi muốn hoàn tác điều này trong tệp cấu hình riêng biệt của mình.
Michael

8

Bạn có thể hiển thị khóa lãnh đạo hiện tại như thế này :let mapleader


4
Thử cái này, tôi nhận được E121: Undefined variable: mapleader.
Praxeolitic 4/2/2015

Sau đó, vì một số lý do, trình ánh xạ không được đặt hoặc chưa được đặt
craigp

5
Ô! Tôi hiểu rôi. Chỉ cần một lưu ý cho người khác sau đó, nếu bạn không đặt khóa lãnh đạo một cách rõ ràng thì bạn sẽ gặp lỗi ở trên.
Praxeolitic 4/2/2015

nếu bạn nhận được E121: Undefined variable: mapleader, điều đó có nghĩa là nó chưa được đặt, nó sẽ sử dụng mặc định, đó là dấu gạch chéo ngược"\"
wvducky
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.