A versão 141216 corrige seu problema.
BTW, sua solução alternativa não é mais necessária, mas usar várias funções keys
GuiMacro não é a melhor, use melhor o tipo keys("^[","[","Z")
ou apenas print("\e[Z")
.
Eu tenho esses mapeamentos em meus arquivos de inicialização do Vim:
nnoremap <S-Tab> <LT><LT>
vnoremap <S-Tab> <LT>gv
a intenção é ser capaz de desabilitar com SHIFT - TAB . Isso funciona bem em GVim e VsVim, mas não está funcionando no Vim dentro do ConEmu.
No entanto, a tabulação (através de nomes de arquivos, por exemplo) para frente com TAB e para trás com SHIFT - TAB funciona bem no comando linha no ConEmu fora do Vim, então o ConEmu deve estar fazendo algo significativo com a sequência SHIFT - TAB , e eu não prefiro quebrar o comportamento da linha de comando se possível (embora se eu tivesse que escolher, eu escolheria a funcionalidade do Vim).
Estou tendo problemas para determinar o que o Vim acha que está vendo para essa sequência-chave. Se eu fizer CTRL - v SHIFT - TAB , o resultado será Î
. Quando eu faço char2nr()
, eu recebo 206
e, de fato, esse parece ser o caractere Unicode 206. Esse resultado de 206 é confirmado por :echo getchar()
e a digitação da sequência. No entanto, fazer map Î <S-Tab>
não funciona.
Como posso fazer meus mapeamentos funcionarem?
Eu encontrei uma solução alternativa. Infelizmente, a capacidade de reverter os nomes de arquivos no console, inserindo ^[[Z
, por isso, ainda estou procurando uma resposta melhor do que isso. No entanto, ele faz com que o SHIFT - TAB funcione no Vim sem modificação adicional na configuração do Vim. Eu usei o recurso macro do ConEmu para mapear SHIFT - TAB no ConEmu para a seqüência de escape do Vim ^[[Z
(veja :set t_kB
), que ele já interpreta como <S-Tab>
por padrão. A macro é keys("^["); keys("["); keys("Z")
, conforme mostrado abaixo.
Tags vim keyboard-shortcuts conemu