Depois de quase sempre que digito algo em maiúsculas, esqueço de desativar o capslock ao retornar ao modo normal. Então, tento mover o cursor e acabo juntando várias linhas e muitas outras coisas que não espero que estejam acontecendo.
É possível configurar o vim para desativar o capslock quando pressiono escape para entrar no modo normal?
Se houver soluções específicas para o sistema operacional, estou interessado nas aplicáveis ao Linux.
normal-mode
drs
fonte
fonte
Respostas:
As respostas a esta pergunta indicam que não é provável - o Vim não tem acesso ao sistema operacional para fazer essa ligação.
No entanto, você pode tentar alterar seu comportamento para que o Caps Lock não seja necessário. É uma chave populares para mapear Ctrl, Escou Meta.
O Vim tem o gUoperador para maiúsculas uma seleção ou movimento, então talvez você possa digitar normalmente e usá-lo posteriormente. Também relevante: gupara minúsculas e ~para alternar.
Também existem maneiras de preencher automaticamente, o que pode reduzir sua necessidade de digitação
VERY_LONG_MACRO_NAMES
.fonte
Eu remapeei meu capslock para ser ctrl e raramente uso mais. No entanto, para o vim, se eu precisar, você tem o tpope / vim-capslock como um bloqueio temporário de software para você. Se você usar isso, deve ser bastante fácil configurar um autocmd para o evento
InsertLeave
e desativar o capslock.fonte
Encontrei uma maneira de desativar o caps lock no modo normal automaticamente (embora funcione apenas no Linux).
As soluções que foram feitas com plug-ins não levam em consideração que você pode entrar no modo normal de mais de uma maneira (que é de inserção para normal), por exemplo, no modo de comando.
Na verdade, não há nenhum evento de comando automático que é ativado ao entrar no modo normal; portanto, o evento que usei foi o
CursorHold
evento, que é ativado quando você não está digitando no modo normal.Você define o tempo de atualização para um número muito pequeno, para que ele sempre seja ativado antes que você possa digitar qualquer coisa.
fonte
Outra opção é remapear o seu CapsLockpara Esc. Este é um mapeamento que CapsLockutilizo há alguns anos: está em uma linha inicial, por isso é realmente fácil de usar se você digitar o tipo. Também promove o uso adequado do Vim, pois sair do modo de inserção é muito mais fácil (a chave está mais próxima do queEsc ).
É fácil remapear: o Linux suporta isso nativamente; existem pequenos aplicativos para o Mac OS X e Windows para isso. E alguns teclados caros ainda vêm com um recurso que permite remapear as teclas.
fonte
Além da resposta Avian Y, na verdade, há um comando automático que é ativado saindo do modo de inserção:
Isso também era exatamente o que eu estava procurando ...
fonte
Na minha máquina Apple, eu realmente implementei esse recurso usando o Karabiner , que funcionou razoavelmente bem. Infelizmente, a 10.12 quebrou o Karabiner e eu não tentei implementá-lo desde então.
Eu usei a tecla escape ou a tecla enter desativada caps lock, se já estava ativada antes.
Portanto, quando você estiver usando o macOS no 10.11 ou abaixo, certamente poderá fazer isso (embora não me peça as configurações, eu não as tenho mais).
Caso contrário, eu iria com o sugerido
gU
. (Embora eu possa entender suas queixas, por não poder usar o mesmo método que você usaria em qualquer outro editor de texto)fonte
No manual de ajuda do vim, há um mapeamento muito bom para colocar uma palavra em maiúsculas no modo de inserção:
Usa ctrl-h , que normalmente é apenas um clone de backspace, então você não está realmente perdendo nada com esse mapeamento.
Caps lock é um pesadelo quando você está no modo normal! Espero que ajude!
fonte