¿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?


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á.


¿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)

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.