Existe alguma maneira de visualizar as chaves atualmente mapeadas no Vim?


183

Basicamente, eu gostaria de visualizar todos os mapas de chaves feitos no buffer atual por todos os plugins, vimrc, etc, no buffer atual. Há alguma maneira de fazer isso?

Respostas:


238

Você pode fazer isso com o :mapcomando Existem também outras variantes.

  • :nmap para mapeamentos no modo normal
  • :vmap para mapeamentos no modo visual
  • :imap para mapeamentos no modo de inserção

A lista acima não está completa. Digitar :help mapno Vim fornecerá mais informações.


10
Apenas para esclarecer, eu acredito que :map, como a pergunta original pergunta, só mostra mapeamentos feitos por plugins, vimrc, etc. Se você quiser ver os atalhos de teclado padrão no vim, uso:index
Von

28
@Von, você talvez queira dizer :help index.
Lqueryvg

2
estes apenas dar-lhe os mapeamentos definidos pelo usuário, não o built-in (padrão) ligações
Tyler Durden

1
É possível gravá-los em um arquivo para revisá-los mais tarde?
Anton Daneyko

@AntonDaneyko Você pode usar o github.com/AndrewRadev/bufferize.vim para esse fim.
radlan 23/04

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

Isso gera os atalhos, com onde foram definidos, para um arquivo de texto.


1
Eu acredito que você pretendia usar o :redircomando, não o :remapcomando.
Aaron Hays

1
Obrigado, obrigado, obrigado!!! Finalmente descobri que o MacVim estava remapeando meu comando <A-Up>. Corrigido adicionando let macvim_skip_cmd_opt_movement = 1
RichS

54

Além de respostas sobre :mapsem argumentos: não perca sua forma detalhada ( :verbose map), que mostra onde os mapeamentos foram definidos (consulte :help map-verbose).



13

:mape seus amigos são a chave, :verboseadicionam informações e :redirpermitem o refinamento pós-pesquisa.

Eles são uma combinação perfeita para mostrar qual comando está vinculado a qual atalho e vice-versa, mas se você deseja pesquisar algumas chaves e evitar arquivos temporários sempre que precisar pesquisar mapeamentos, consulte scriptease e :Verbosecomando.

É um invólucro ativado :verbosepara mostrar o resultado em uma janela de visualização.

Dessa forma, você pode pesquisar o que quiser dentro dos resultados sem usar arquivos temporários

digite :Verbose mape use / ?como de costume.


4

Outra maneira é salvar a sessão em um arquivo e depois editar esse arquivo, pois contém todos os mapeamentos e configurações.

:mks[ession] [file] - Escreva um script Vim que restaure a sessão de edição atual.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.