Bagaimana cara memasukkan baris baru dan melompat ke sana, di emacs?

12

Persis sama dengan gerhana Shift+Enter.

Misalnya saya punya beberapa teks:

Hello, *everyone.
I'm Freewind.

Baris *pertama adalah kursor. Lalu saya tekan beberapa tombol pintas, menjadi:

Hello, everyone.
*
I'm Freewind.

Perhatikan ada baris baru di baris kedua, dan kursor ada di baris baru.

Apa cara pintas kunci yang dapat saya gunakan?

Freewind
sumber
3
Saya selalu menggunakan Ce dan kemudian masuk.

Jawaban:

16

C-e C-m

atau

C-e C-j

Keduanya akan pindah ke akhir baris dan menambahkan baris baru. Yang kedua juga akan membuat indentasi.

Ray Vega
sumber
Bisakah saya memetakan kunci untuk melakukan pekerjaan ini, jadi saya hanya perlu menekan sekali?
Freewind
Itu adalah pemetaan kunci. Emacs memungkinkan perintah yang mengikat pada urutan kunci dan sebagian besar perintah adalah dua kunci. Biasanya merupakan ide yang buruk untuk mengikat ke satu kunci karena sebagian besar ikatan satu kunci diambil oleh fundamental emacs.
Ross Patterson
C-ememanggil move-end-of-linedan C-mmemanggilnewline
Dror
10

Untuk kelengkapan di sini adalah fungsi:

(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
sumber
Terima kasih, tetapi bagaimana saya menggunakannya? Hanya memetakan kunci untuk fungsi ini? Bisakah saya memetakan "Shift-Enter" ke sana?
Freewind
@Freewind answer updated
Trey Jackson
3
Jika Anda menggunakan comment-indent-new-linesebagai gantinya, itu juga akan memasukkan karakter komentar yang sesuai jika Anda saat ini di dalam komentar.
phils
6

Anda dapat membuat sesuatu yang mirip dengan makro keyboard seperti ini.

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

atau memang:

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

untuk menghindari penggunaan dua jenis sintaksis yang berbeda untuk kunci.

kindahero
sumber