Eu tenho o seguinte no final do meu arquivo ~/.bashrc para conveniência ao usar o vim:
if [[ -z "$XTERM_VERSION" ]]
then
xmodmap ~/.swapsforvim
fi
O arquivo ~. / swapsforvim contém simplesmente:
! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock.
Quando funciona, é realmente conveniente, mas minhas tentativas de me acostumar com a mudança são dificultadas pela decisão ocasional do mapeamento de não se manifestar de repente.
Estou usando xterm+tmux .
Uma das ocasiões em que isso acontece é quando eu alterno de uma janela de terminal para outra e depois para trás.
P.S .: Em uma nota lateral, qual seria a melhor maneira de lançar esses comandos ao executar vim ? A maneira óbvia de colocar
:!source ./swapsforvim
No início do meu arquivo ~/.vimrc , ele parece superprojetado e desajeitado (teria que desanexá-lo em vim também). Posso de alguma forma vincular uma função bash personalizada a vim ( alias it ou 'remapear', mas para que ela execute isso além disso, mas mantém todos os argumentos adicionais passados)?