Erkennen, ob ein Schlüssel, um etwas in vim gebunden ist
-
21-09-2019 - |
Frage
Ich würde gerne wissen, ob es einen Weg gibt, um herauszufinden, ob ein Schlüssel etwas in vim tut. Ich weiß, dass ich :map
verwenden können benutzerdefinierte Zuordnungen zu sehen, aber es ist etwas für den eingebauten in Sachen?
Zum Beispiel habe ich immer schon STRG - W zu schließen Tab gebunden, weil ich dachte, dass es ungenutzt. Nach einem halben Jahr, fand ich heraus, dass es einige Sequenzen sind, die es verwenden, wie STRG - W STRG - S aufzuspalten das Fenster, und es war ein Alptraum mich umschulen.
Lösung
Wenn Sie die vorgeschlagene Antwort von Randy Morris Check-Out Sie, dass
finden:help index
werden Sie die Liste, die Sie wollen.
Andere Tipps
die Standardzuordnung prüfen:
:help index
Für andere Zuordnung, die von Benutzern oder Plugin getan wird:
:map
:map!
http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial (Part_1) :
Die erste Befehl zeigt die Karten, die Arbeit in der normalen, visuellen und wählen und Betreiber anhängig Modus. Der zweite Befehl zeigt die Karten dass die Arbeit in Einsatz und Kommandozeilen-Modus.
Typischerweise wird die Ausgabe der oben genannten Befehle werden über mehrere Seiten erstrecken. Sie können die folgenden Befehle verwenden, um die Ausgabe zu umleiten die vim_maps.txt-Datei:
:redir! > vim_maps.txt :map :map! :redir END
keine vollständige Antwort, aber Sie können :help map-which-keys
für eine Liste von Schlüsseln prüfen wollen, dass vim Sie empfiehlt in Ihren benutzerdefinierten Karten zu verwenden.
Der Hilfe-Bereich hat eine Empfehlung, wie zu sagen, ob eine bestimmte Taste zu einer Aktion zugeordnet ist.
Verwenden :map!
und :map
für manuell einstellen Tasten und :help 'char(-combination)'
, um herauszufinden, welche Schlüssel bereits in vim abgebildet sind out-of-the-box (/ aus Ihrem spezifischen Zusammenstellung Optionen).
(Ein wenig Off-Topic, aber immer noch regardable (glaube ich): Verwenden Sie :scriptnames
, um zu sehen, welche Dateien übernommen wurden in welcher Reihenfolge.)
Ich blätterte :help index
und machte eine Liste von einigen der nicht verwendeten nmap
Tasten:
- Q (Schalter auf "Ex" Modus)
- Z außer ZZ, ZQ
- \
-
<Space>
(gleich wiel
im normalen Modus, der größte und am wenigsten genutzten Schlüssel im normalen Modus) - gb, gc, gl, gx, gy, gz
- gs (Schlaf)
- zp, zq, zu, zy
- cd, cm, co, cp, CQ, cr, cs, cu, cx, cy
- dc, dm, tun, dp, dq, dr, ds, du, dx, dy
- gA, gB, gC, gG, Gk, gL, gM Gehe hin, gS, Gx, Gy, gZ
- Zb zI, ZJ, zK, zp, zQ, zp, zS, zT, zU, zV, zY zz
- ] a,] B] e,] g,] h] j] k] l,] n,] o,] q,] R] t,] u,] v,] w ,] x,] y
- [a, [b, [e, [g, [h [j [k, [l, [n, [o, [q, [R, [t, [u, [v, [w [x, [y
- CTRL-G, CTRL-K
- CTRL- \ a - z (reserviert für Erweiterungen)
- CTRL- \ A - Z (nicht benutzt)
Bitte aktualisiere / Kommentar.
Sie können mapcheck
verwenden: -.
Zum Beispiel wollte ich <CR> ,i
zu gg=G
zu eingerückt einer Datei zuzuordnen.
Um zu überprüfen, ob es eine Zuordnung bereits für <CR> , i
ist
if mapcheck("\<CR>", "I") == "" |echo "no mapping"
... aber das wird nicht erkennen, ob die Abbildung Teil einer Sequenz ist.