Làm thế nào để chèn một dòng mới và nhảy đến nó, trong emacs?


12

Nó chính xác giống như nhật thực Shift+Enter.

Ví dụ: tôi có một số văn bản:

Hello, *everyone.
I'm Freewind.

Dòng *đầu tiên là con trỏ. Sau đó, tôi nhấn một số phím tắt, nó trở thành:

Hello, everyone.
*
I'm Freewind.

Lưu ý rằng có một dòng mới trong dòng thứ hai và con trỏ ở dòng mới.

Tôi có thể sử dụng phím tắt nào?


3
Tôi luôn sử dụng Ce và sau đó nhập.

Câu trả lời:


16

C-e C-m

hoặc là

C-e C-j

Cả hai sẽ di chuyển đến cuối dòng và thêm dòng mới. Thứ hai cũng sẽ thụt lề.


Tôi có thể lập bản đồ chìa khóa để thực hiện công việc này không, vì vậy tôi chỉ cần nhấn một lần?
Freewind

Đó là một ánh xạ chính. Emacs cho phép các lệnh ràng buộc với các chuỗi khóa và hầu hết các lệnh là hai khóa. Nói chung, đó là một ý tưởng tồi để liên kết với một khóa vì hầu hết các ràng buộc chính được thực hiện bởi các nguyên tắc cơ bản của emacs.
Ross Patterson

C-ecầu khẩn move-end-of-lineC-mcầu khẩnnewline
Dror

10

Để hoàn thiện ở đây là một chức năng:

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

Cảm ơn bạn, nhưng làm thế nào để tôi sử dụng nó? Chỉ cần ánh xạ một chìa khóa cho chức năng này? Tôi có thể ánh xạ "Shift-Enter" tới nó không?
Freewind

Cập nhật câu trả lời @Freewind
Trey Jackson

3
Nếu bạn sử dụng comment-indent-new-linethay thế, nó cũng sẽ chèn các ký tự nhận xét phù hợp nếu bạn hiện đang ở trong một nhận xét.
phils

6

Bạn có thể làm một cái gì đó giống với macro bàn phím như thế này.

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

hoặc thực sự:

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

để tránh sử dụng hai loại cú pháp khác nhau cho các khóa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.