Có cách nào để xem các phím hiện được ánh xạ trong Vim không?


183

Về cơ bản, tôi muốn xem tất cả các bản đồ khóa được tạo trong bộ đệm hiện tại bởi tất cả các plugin, vimrc, v.v., trong bộ đệm hiện tại. Có cách nào để làm điều này?

Câu trả lời:


238

Bạn có thể làm điều đó với :maplệnh. Ngoài ra còn có các biến thể khác.

  • :nmap cho ánh xạ chế độ bình thường
  • :vmap cho ánh xạ chế độ trực quan
  • :imap cho ánh xạ chế độ chèn

Danh sách trên không đầy đủ. Nhập :help mapvào Vim sẽ cung cấp cho bạn thêm thông tin.


10
Để làm rõ, tôi tin :map, như câu hỏi ban đầu, chỉ hiển thị ánh xạ được tạo bởi các plugin, vimrc, v.v. Nếu bạn muốn xem các ràng buộc khóa mặc định trong vim, hãy sử dụng:index
Von

28
@Von, có lẽ bạn có ý :help index.
Lqueryvg

2
những thứ này chỉ cung cấp cho bạn các ánh xạ do người dùng định nghĩa, không phải các ràng buộc tích hợp (mặc định)
Tyler Durden

1
Có thể viết chúng vào một tập tin để xem lại chúng sau này không?
Anton Daneyko

@AntonDaneyko Bạn có thể sử dụng github.com/AndrewRadev/bufferize.vim cho mục đích đó.
radlan

86
:redir! > vim_keys.txt
:silent verbose map
:redir END

Điều này đưa ra các phím tắt, với nơi chúng được xác định, vào một tệp văn bản.


1
Tôi tin rằng bạn có nghĩa là sử dụng :redirlệnh, không phải :remaplệnh.
Aaron Hays

1
Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn!!! Cuối cùng thấy rằng MacVim đang ánh xạ lại lệnh <A-Up> của tôi. Đã sửa lỗi bằng cách thêm let macvim_skip_cmd_opt_movement = 1
RichS

54

Ngoài các câu trả lời về việc :mapkhông có đối số: đừng bỏ lỡ hình thức dài dòng của nó ( :verbose map) cho biết nơi (các) ánh xạ đã được xác định (xem :help map-verbose).


13

Rất đơn giản, chỉ cần chạy các :map biến thể không có đối số.

:map
:imap
:vmap

13

:mapvà bạn bè của nó là chìa khóa, :verbosethêm thông tin và :redircho phép sàng lọc sau tìm kiếm.

Chúng là một kết hợp hoàn hảo để hiển thị lệnh nào được liên kết với phím tắt và ngược lại, nhưng nếu bạn muốn tìm kiếm một số phím và tránh các tệp tạm thời bất cứ khi nào bạn cần tìm kiếm ánh xạ, hãy xem scriptease:Verboselệnh.

Nó là một trình bao bọc :verboseđể hiển thị kết quả trong cửa sổ xem trước.

bằng cách này bạn có thể tìm kiếm bất cứ thứ gì bạn muốn bên trong kết quả mà không cần sử dụng tệp tạm thời

:Verbose mapvà sử dụng / ?như bình thường


4

Một cách khác là lưu phiên vào một tệp và sau đó chỉnh sửa tệp này vì nó chứa tất cả các ánh xạ và cài đặt.

:mks[ession] [file] - Viết tập lệnh Vim khôi phục phiên chỉnh sửa hiện tại.

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.