Comment insérer une nouvelle ligne et y accéder, dans emacs?


12

C'est exactement la même chose que l'éclipse Shift+Enter.

Par exemple, j'ai un texte:

Hello, *everyone.
I'm Freewind.

Le *dans la première ligne est le curseur. Ensuite, j'appuie sur un raccourci clavier, il devient:

Hello, everyone.
*
I'm Freewind.

Notez qu'il y a une nouvelle ligne dans la deuxième ligne et le curseur est dans la nouvelle ligne.

Quel raccourci clavier puis-je utiliser?


3
J'utilise toujours Ce puis j'entre.

Réponses:


16

C-e C-m

ou

C-e C-j

Les deux se déplaceront à la fin de la ligne et ajouteront une nouvelle ligne. Le second sera également en retrait.


Puis-je mapper une touche pour faire ce travail, il me suffit donc d'appuyer une fois?
Freewind le

C'est une cartographie clé. Emacs permet de lier des commandes à des séquences de touches et la plupart des commandes sont deux touches. C'est généralement une mauvaise idée de se lier à une clé, car la plupart des liaisons à une clé sont prises par les principes fondamentaux d'emacs.
Ross Patterson

C-einvoque move-end-of-lineet C-minvoquenewline
Dror

10

Pour être complet, voici une fonction:

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

Merci, mais comment l'utiliser? Il suffit de mapper une clé pour cette fonction Puis-je mapper "Shift-Enter" sur celui-ci?
Freewind

@Freewind réponse mise à jour
Trey Jackson

3
Si vous utilisez à la comment-indent-new-lineplace, il insérera également les caractères de commentaire appropriés si vous êtes actuellement dans un commentaire.
phils

6

Vous pouvez créer quelque chose qui ressemble à une macro de clavier comme celle-ci.

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

ou bien:

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

pour éviter d'utiliser deux types de syntaxe différents pour les clés.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.