Qual é a melhor maneira de detectar pressionamentos de tecla (por exemplo, através de um gancho) que não editam o buffer? Quero dizer coisas como setas para apontar movimento, chamadas para beginning-of-bufferetc.
A razão para isso é que estou trabalhando em algumas ycmdligações para o emacs e gostaria de poder detectar (pelo menos heuristicamente) quando o usuário parou de editar e está se movendo pelo buffer. É um bom momento para enviar o conteúdo do buffer para análise. O cliente vim faz isso quando o usuário sai do modo de inserção e estou tentando emular esse comportamento.
self-insert-commanda cancelar e reagendar um cronômetro em vez de usar um cronômetro inativo. Dessa forma, mesmo que o usuário faça algo, o cronômetro não será redefinido, a menos que "algo" seja inserção de texto.
after-change-functionsé um mecanismo geral para reagir a alterações de texto.
post-command-hook. Isso será acionado em tudo, portanto, você pode precisar filtrar o que o acionou antes de executar qualquer ação que desejar.
buffer-chars-modified-tickfunção pode ser útil.