chaves de ligação do Emacs aos comandos

1

Estou seguindo o "truque" descrito aqui para adicionar novas associações de teclas ao meu arquivo .emacs : ligação

No entanto, está resultando em linhas como esta no meu arquivo .emacs :

(global-set-key [24 4] (quote some-command))

Em vez de [24 4] , quero mencionar explicitamente os comandos de teclas legíveis por humanos C-x C-d . Caso contrário, quando eu estiver olhando para o meu arquivo .emacs , não consigo entender [24 4] e esquecer quais são as teclas que vinculei as coisas.

1) como devo substituir [24 4] no meu arquivo .emacs para torná-lo legível em humanos?

2) Existe uma maneira de usar o "truque" acima e gerar o comando de chave legível em vez de numerais?

    
por mark 21.11.2014 / 21:51

2 respostas

3

Você pode usar a função key-description para converter a sequência em um formato mais legível -

(key-description [24 4])
=> "C-x C-d"

e depois convertê-lo de volta usando a função kbd , assim você pode dizer

(global-set-key (kbd "C-x C-d") 'some-command)

Então, usando o kbd você pode pular o truque mencionado e apenas escrever seus atalhos diretamente. É um pouco mais de digitação do que outras representações, mas é definitivamente mais fácil de ler.

Para ver como escrever uma determinada chave, pressione Ch c e a (s) chave (s) - isso chama a describe-key-brief e produz algo na área da mensagem como "M-Q runs the command fill-paragraph" ou "<C-M-f7> is undefined" .

    
por 22.11.2014 / 19:30
1

No Emacs lisp, os caracteres são escritos ?<char> e, assim como em C, são tratados como números inteiros, portanto, em vez de 24, você pode escrever ?\C-x ou ?\^x e, em vez disso, pode escrever ?\C-d ou ?\^d , então, acima de tudo, eu escreveria [?\C-x ?\C-d] .

    
por 21.11.2014 / 22:10