¿Cómo insertar una nueva línea y saltar a ella, en emacs?

12

Es exactamente lo mismo que eclipse Shift+Enter.

Por ejemplo, tengo un texto:

Hello, *everyone.
I'm Freewind.

El *en la primera línea es el cursor. Luego presiono un atajo de tecla, se convierte en:

Hello, everyone.
*
I'm Freewind.

Observe que hay una nueva línea en la segunda línea y el cursor está en la nueva línea.

¿Cuál es el atajo de teclado que puedo usar?

Viento libre
fuente
3
Siempre uso Ce y luego entro.

Respuestas:

16

C-e C-m

o

C-e C-j

Ambos se moverán al final de la línea y agregarán nueva línea. El segundo también sangrará.

Ray Vega
fuente
¿Puedo asignar una tecla para hacer este trabajo, así que solo necesito presionar una vez?
Freewind
Esa es una asignación clave. Emacs permite vincular comandos a secuencias de teclas y la mayoría de los comandos son dos teclas. En general, es una mala idea vincular a una clave, ya que la mayoría de las vinculaciones de una clave son tomadas por los fundamentos de emacs.
Ross Patterson
C-einvoca move-end-of-linee C-minvocanewline
Dror
10

Para completar, aquí hay una función:

(defun end-of-line-and-indented-new-line ()
  (interactive)
  (end-of-line)
  (newline-and-indent))

(global-set-key (kbd "<S-return>") 'end-of-line-and-indented-new-line)
phimuemue
fuente
Gracias, pero ¿cómo lo uso? ¿Solo asigna una tecla a esta función? ¿Puedo asignarle "Shift-Enter"?
Freewind
@Freewind respuesta actualizada
Trey Jackson
3
Si lo usa comment-indent-new-line, también insertará los caracteres de comentario apropiados si actualmente está dentro de un comentario.
phils
6

Puede hacer algo parecido a una macro de teclado como esta.

(global-set-key (kbd "<S-return>") "\C-e\C-m")

o de hecho:

(global-set-key (kbd "<S-return>") (kbd "C-e C-m"))

para evitar el uso de dos tipos diferentes de sintaxis para las claves.

un poco héroe
fuente