Apakah ada cara untuk melihat kunci yang saat ini dipetakan di Vim?


183

Pada dasarnya, saya ingin melihat semua peta kunci yang dibuat di buffer saat ini oleh semua plugin, vimrc, dll, di buffer saat ini. Apakah ada cara untuk melakukan ini?

Jawaban:


238

Anda dapat melakukannya dengan :mapperintah. Ada juga varian lainnya.

  • :nmap untuk pemetaan mode normal
  • :vmap untuk pemetaan mode visual
  • :imap untuk memetakan pemetaan mode

Daftar di atas tidak lengkap. Mengetik :help mapdi Vim akan memberi Anda lebih banyak informasi.


10
Hanya untuk memperjelas, saya percaya :map, seperti yang ditanyakan oleh pertanyaan awal, hanya menunjukkan pemetaan yang dibuat oleh plugin, vimrc, dll. Jika Anda ingin melihat ikatan kunci default di vim, gunakan:index
Von

28
@ Von, maksudmu mungkin :help index.
Lqueryvg

2
ini hanya memberi Anda pemetaan yang ditentukan pengguna, bukan ikatan bawaan (bawaan)
Tyler Durden

1
Apakah mungkin untuk menulisnya ke file untuk memeriksanya nanti?
Anton Daneyko

@AntonDaneyko Anda dapat menggunakan github.com/AndrewRadev/bufferize.vim untuk tujuan itu.
radlan

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

Ini menampilkan cara pintas, dengan di mana mereka didefinisikan, ke file teks.


1
Saya percaya bahwa Anda bermaksud menggunakan :redirperintah, bukan :remapperintah.
Aaron Hays

1
Terima kasih terima kasih terima kasih!!! Akhirnya menemukan bahwa MacVim sedang memetakan ulang perintah <A-Up> saya. Diperbaiki dengan menambahkan let macvim_skip_cmd_opt_movement = 1
RichS

54

Selain jawaban tentang :maptanpa argumen: jangan lewatkan bentuk verbose ( :verbose map) yang menunjukkan di mana pemetaan didefinisikan (lihat :help map-verbose).



13

:mapdan teman-temannya adalah kuncinya, :verbosemenambahkan info dan :redirmemungkinkan perbaikan pasca-pencarian.

Mereka adalah campuran yang sempurna untuk menunjukkan perintah apa yang mengikat pintasan dan sebaliknya, tetapi jika Anda ingin mencari beberapa kunci dan menghindari file temp setiap kali Anda perlu mencari pemetaan, lihat skrip dan :Verboseperintah.

Ini adalah pembungkus aktif :verboseuntuk menampilkan hasil di jendela pratinjau.

dengan cara ini Anda dapat mencari apa pun yang Anda inginkan di dalam hasil tanpa menggunakan file temp

ketik :Verbose mapdan gunakan / ?seperti biasa.


4

Cara lain adalah dengan menyimpan sesi ke file dan kemudian mengedit file ini karena berisi semua pemetaan dan pengaturan.

:mks[ession] [file] - Tulis skrip Vim yang mengembalikan sesi penyuntingan saat ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.