El valor predeterminado de la combinación de teclas C-a/C-ees solo para una cosa, mover al principio / final de la línea, ¿hay algún paquete que pueda hacer que Emacs actúe así?
- Si no estoy al final de una línea,
C-eiré al final de la línea, de lo contrario, iré al final de la siguiente línea - Si no estoy al comienzo de una línea,
C-airé al comienzo de la línea, de lo contrario iré al comienzo de la siguiente línea.
El punto es que puedes seguir golpeando C-a/epara ir al principio / final de cada línea sin mover el dedo para alcanzar C-n/p.
Y con un prefijo ( C-u) irán al principio / final de la línea en la dirección opuesta.
key-bindings
line-break
motion
CodyChan
fuente
fuente

C-a"subir" yC-e"bajar"? En otras palabras, ¿el significado de "línea siguiente" es el mismo en los ítems 1 y 2?C-apara arriba yC-epara abajo" problema cuando he publicado esta pregunta, pero luego pensé que si alguien le diodefunsolución como usted, nadie sabría qué hacer si le gustaC-aa "arriba" ..Respuestas:
No conozco un paquete que permita este comportamiento, pero aquí hay una forma de hacerlo.
Presione
C-h k C-apara descubrir queC-aestá obligado amove-beginning-of-line; esta es la función que necesitamos modificar --- o simplemente usar para implementar la parte "mover al principio". Del mismo modo, conC-h kI can findforward-line, que se usará para subir / bajar.Para poder vincular una función a una tecla, debemos convertirla en un comando , por lo que debemos usar el
interactiveformulario especial (consulte Uso de Interactive ). Para tomar elC-uargumento prefijo necesitamos el"P"carácter del código.Combinando esto con
bolp(verifique si al principio de una línea) yeolp(verifique si está al final de una línea), podemos escribir:Ahora podemos volver a vincular
C-ayC-ellamar a estos:Alternativamente, uno podría agregar consejos a
move-beginning-of-lineymove-end-of-line.fuente
my-move-beginning-of-linefunción. ¿Debería ser(previous-line (if arg -1 1))o(forward-line (if arg 1 -1))(1 y -1 conmutado)?C-aoC-e.C-a"subir".La biblioteca
misc-cmds.elsiempre ha tenido esta característica.Estos son los comandos relevantes y los enlaces de teclas sugeridos (estos enlaces se hacen en
setup-keys.el).Aquí está lo que
C-h f end-of-line+dice, como un ejemplo:fuente
Las siguientes dos funciones realizan las acciones deseadas.
fuente