O padrão da ligação de teclas C-a/C-e
é apenas uma coisa: vá para o início / fim da linha; existe algum pacote que possa fazer o Emacs agir assim:
- Se eu não estiver no final de uma linha,
C-e
irei para o final da linha, caso contrário, vá para o final da próxima linha - Se eu não estiver no início de uma linha,
C-a
irá para o início da linha, caso contrário, vá para o início da próxima linha.
O ponto é que você pode continuar pressionando C-a/e
para ir para o início / fim de cada linha sem mover o dedo para alcançá-lo C-n/p
.
E com um prefixo ( C-u
), eles irão para o início / fim da linha na direção oposta.
key-bindings
line-break
motion
CodyChan
fonte
fonte
C-a
subir eC-e
descer? Em outras palavras, o significado de "próxima linha" é o mesmo nos itens 1 e 2?C-a
subir eC-e
descer" quando postei essa pergunta, mas então pensei que se alguém desse umadefun
solução como você, alguém saberia o que fazer se ele gostaC-a
de "subir" ..Respostas:
Não conheço um pacote que permita esse comportamento, mas aqui está uma maneira de fazê-lo.
Pressione
C-h k C-a
para descobrir a queC-a
está vinculadomove-beginning-of-line
; esta é a função que precisamos modificar --- ou apenas usar para implementar a parte "movendo para o início". Da mesma forma, comC-h k
eu posso encontrarforward-line
, que será usado para mover para cima / baixo.Para poder vincular uma função a uma chave, precisamos transformá-la em um comando , portanto, precisamos usar o
interactive
formulário especial (consulte Usando o Interactive ). Para pegar oC-u
argumento prefix, precisamos do"P"
caractere de código.Combinando isso com
bolp
(verifique se no início de uma linha) eeolp
(verifique se no final de uma linha), podemos escrever:Agora podemos voltar a ligar
C-a
eC-e
chamá-los:Como alternativa, pode-se adicionar conselhos para
move-beginning-of-line
emove-end-of-line
.fonte
my-move-beginning-of-line
função. Deve ser(previous-line (if arg -1 1))
ou(forward-line (if arg 1 -1))
(1 e -1 alternado)?C-a
ou outroC-e
.C-a
subir ".A biblioteca
misc-cmds.el
tem esse recurso há muito tempo.Estes são os comandos relevantes e as ligações de teclas sugeridas (essas ligações são feitas em
setup-keys.el
).Aqui está o que
C-h f end-of-line+
diz, como um exemplo:fonte
As duas funções a seguir executam as ações desejadas.
fonte