Czy jest jakiś sposób, aby wyświetlić aktualnie zmapowane klucze w Vimie?

183

Zasadniczo chciałbym wyświetlić wszystkie mapy kluczy wykonane w bieżącym buforze przez wszystkie wtyczki, vimrc itp. W bieżącym buforze. Czy jest coś takiego?

Paul Wicks
źródło

Odpowiedzi:

238

Możesz to zrobić za pomocą :mappolecenia. Istnieją również inne warianty.

  • :nmap dla mapowań w trybie normalnym
  • :vmap do mapowań w trybie wizualnym
  • :imap dla mapowań w trybie wstawiania

Powyższa lista nie jest kompletna. Wpisanie :help mapVima da ci więcej informacji.

mattr-
źródło
10
Tylko dla wyjaśnienia, jak sądzę :map, jak pierwotne pytanie, pokazuje tylko odwzorowania wykonane przez wtyczki, vimrc itp. Jeśli chcesz zobaczyć domyślne powiązania klawiszy w vimie, użyj:index
Von
28
@ Von, być może masz na myśli :help index.
Lqueryvg
2
to tylko daje mapowania zdefiniowane przez użytkownika, a nie wbudowane w oprawach (domyślnie)
Tyler Durden
1
Czy można zapisać je do pliku i przejrzeć je później?
Anton Daneyko
@AntonDaneyko W tym celu możesz użyć github.com/AndrewRadev/bufferize.vim .
radlan
86
:redir! > vim_keys.txt
:silent verbose map
:redir END

Spowoduje to wyświetlenie skrótów, w których zostały zdefiniowane, do pliku tekstowego.

Ivan
źródło
1
Uważam, że chciałeś użyć :redirpolecenia, a nie :remappolecenia.
Aaron Hays
1
Dziekuję Dziekuję Dziękuję!!! W końcu odkryłem, że MacVim mapował moje polecenie <A-Up>. Naprawiono przez dodanie let macvim_skip_cmd_opt_movement = 1
RichS
54

Oprócz odpowiedzi na temat :mapbez argumentów: nie przegap jego pełnej formy ( :verbose map), która pokazuje, gdzie zdefiniowano mapowanie (patrz :help map-verbose).

Ves
źródło
13

Po prostu uruchom :map warianty bez argumentów.

:map
:imap
:vmap
Michał Berkowski
źródło
13

:mapa jego przyjaciele są kluczem, :verbosedodają informacje i :redirumożliwiają zawężenie wyszukiwania.

Są idealnym połączeniem, aby pokazać, które polecenie jest powiązane z danym skrótem i odwrotnie, ale jeśli chcesz przeszukać niektóre klawisze i unikać plików tymczasowych, ilekroć potrzebujesz przeszukać mapowania, spójrz na skryptease i :Verbosepolecenie.

To jest opakowanie, :verboseaby pokazać wynik w oknie podglądu.

w ten sposób możesz przeszukiwać dowolne wyniki wewnątrz bez użycia plików tymczasowych

wpisz :Verbose mapi używaj / ?jak zwykle.

albfan
źródło
4

Innym sposobem jest zapisanie sesji w pliku, a następnie edycja tego pliku, ponieważ zawiera on wszystkie mapowania i ustawienia.

:mks[ession] [file] - Napisz skrypt Vima, który przywraca bieżącą sesję edycji.

Fernando Rodriguez
źródło