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