Saya tahu bahwa menjalankan :map
perintah tanpa argumen harus memberi saya daftar pemetaan yang ditentukan pengguna, tetapi, misalnya, ketika saya menekan Ctrl-W Ctrl-I sesuatu terjadi, namun saya tidak tahu fungsi apa yang baru saja terjadi sebagai pemetaan bawaan tidak muncul dalam :map
perintah.
Bagaimana cara mengetahui apa yang dilakukan kunci?
key-bindings
Gila Wombat
sumber
sumber
:help CTRL-W_CTRL-I
atau:help CTRL-W_i
Jawaban:
Kamu tidak bisa
Berikut kode sumber C untuk apa
<C-w><C-i>
:normal.c
:window.c
:Saya tidak sepenuhnya yakin di mana
type
variabel dijemput, saya tidak merasa ingin melihat itu, tetapi intinya, bahwa tidak ada fasilitas nyata untuk mengatakan "kunci ini dipetakan ke fungsi ini". Ini pada dasarnya hanyastruct
yang memetakanchar
fungsi, dan implementasi keystroke kedua (<C-i>
) hanyalah keburukan ad-hoc!Ini berbeda dari Emacs, di mana (saya kira) semuanya ada di Lisp, dan pemetaan kustom Anda tidak berbeda dengan pemetaan default Emacs. Tetapi dalam Vim Anda memiliki pemetaan "ajaib" yang disediakan oleh kode C yang memetakan terhadap fungsi C yang tidak pernah terpapar di Vim. Saya selalu mengatakan bahwa Vim memiliki ide yang lebih baik, tetapi Emacs memiliki implementasi yang lebih baik ;-)
Jadi satu-satunya cara adalah mencarinya di file bantuan. Inilah mengapa saya menutup ini sebagai duplikat dari Bagaimana saya menavigasi ke topik dalam dokumentasi Vim karena itulah satu-satunya jawaban praktis yang dapat diberikan oleh siapa pun. Seseorang memang dapat berdebat bahwa penjelasan yang lebih mendalam untuk pertanyaan itu dapat diberikan (seperti yang baru saja saya lakukan), dan seandainya Anda berargumen bahwa , alih-alih memberikan respons (yang sekarang dihapus), saya mungkin akan mengatakan "Anda" benar, maaf atas kesalahan "dan membukanya kembali ;-)
Bagaimanapun, untuk menggambarkan secara singkat konvensi dengan beberapa contoh:
:help w
- pemetaan mode normal untukw
(case-sensitive);:help g8
- pemetaan mode normal untukg8
;:help v_o
- Pemetaan mode visual untuko
; mode lain adalahc
untuk baris perintah dani
untuk memasukkan;:help CTRL-W
- pemetaan mode normal untuk<C-w>
;:help i_CTRL-W
- Masukkan pemetaan mode untuk<C-w>
;:help CTRL-W_CTRL-I
- pemetaan mode normal untuk<C-w><C-i>
;:help i_CTRL-G_<Down>
- masukkan pemetaan mode untuk<C-g><Down>
.sumber
commandline completion
bantuan vim menggunakan CTRL-D (Saya menyebutnya "search in help"). Ketik:h CTRL-W
kemudian tekan <CTRL-D>, dan Anda akan mendapatkan daftar semua perintah yang berisi string "CTRL-W", misalnyaCTRL-W, CTRL-W_^, CTRL-W-<Down>, ...
,. Ketik:h g8<CTRL-D>
dan Anda akan melihatg8
dan8g8
sebagai subjek bantuan yang tersedia. Tanpa ini, Anda harus mengetikkan subjek bantuan dengan tepat dan menemukan string yang berfungsi pasti sulit.Ada di file bantuan vim di
:help index
Jika Anda ingin tahu kunci mana yang tidak dipetakan secara default, lihat
:help map-which-keys
Catatan: di atas adalah tautan yang dapat diklik ke manual referensi vim terbaru
sumber
Saya pikir Anda bisa mendapatkan pemetaan melalui perintah berikut
Semoga ini bisa membantu!
sumber