Wie füge ich eine neue Zeile ein und springe in Emacs dorthin?


12

Es ist genau das gleiche wie eine Sonnenfinsternis Shift+Enter.

Ich habe zB einen Text:

Hello, *everyone.
I'm Freewind.

Die *in der ersten Zeile ist der Cursor. Dann drücke ich eine Tastenkombination, es wird:

Hello, everyone.
*
I'm Freewind.

Beachten Sie, dass sich in der zweiten Zeile eine neue Zeile befindet und sich der Cursor in der neuen Zeile befindet.

Welche Tastenkombination kann ich verwenden?


3
Ich benutze immer Ce und gehe dann hinein.

Antworten:


16

C-e C-m

oder

C-e C-j

Beide bewegen sich zum Ende der Zeile und fügen eine neue Zeile hinzu. Der zweite wird ebenfalls eingerückt.


Kann ich eine Taste für diesen Job zuordnen, sodass ich nur einmal drücken muss?
Freewind

Das ist eine Tastenbelegung. Emacs erlaubt das Binden von Befehlen an Tastenfolgen und die meisten Befehle sind zwei Tasten. Es ist im Allgemeinen eine schlechte Idee, an einen Schlüssel zu binden, da die meisten der Ein-Schlüssel-Bindungen von den Emacs-Grundlagen übernommen werden.
Ross Patterson

C-eruft auf move-end-of-lineund C-mruft aufnewline
Dror

10

Der Vollständigkeit halber ist hier eine Funktion:

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

Danke, aber wie verwende ich es? Ordnen Sie dieser Funktion einfach einen Schlüssel zu? Kann ich "Shift-Enter" zuordnen?
Freewind

@Freewind Antwort aktualisiert
Trey Jackson

3
Wenn Sie comment-indent-new-linestattdessen verwenden, werden auch die entsprechenden Kommentarzeichen eingefügt, wenn Sie sich gerade in einem Kommentar befinden.
Phils

6

Sie können so etwas wie ein Tastaturmakro erstellen.

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

oder in der Tat:

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

Um zu vermeiden, dass zwei verschiedene Arten von Syntax für Schlüssel verwendet werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.