Як вставити новий рядок і перейти до нього, в emacs?


12

Це точно так само, як затемнення Shift+Enter.

Наприклад, у мене є текст:

Hello, *everyone.
I'm Freewind.

*У першому рядку курсор. Потім натискаю якусь клавішну комбінацію клавіш, вона стає:

Hello, everyone.
*
I'm Freewind.

Зауважте, що у другому рядку є новий рядок, а курсор - у новому рядку.

Який ключовий ярлик я можу використовувати?


3
Я завжди використовую Ce, а потім входжу.

Відповіді:


16

C-e C-m

або

C-e C-j

Обидва перемістяться до кінця рядка та додадуть новий рядок. Другий також буде відступати.


Чи можу я зробити карту для виконання цієї роботи, тому мені просто потрібно натиснути один раз?
Freewind

Це ключове відображення. Emacs дозволяє прив’язувати команди до послідовностей клавіш, а більшість команд - це дві клавіші. Як правило, погана ідея прив'язуватися до однієї клавіші, оскільки більшість прикладних ключів приймаються основами emacs.
Росс Паттерсон

C-eпосилається move-end-of-lineі C-mпосилаєтьсяnewline
Dror

10

Для повноти тут є функція:

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

Дякую, але як я ним користуюся? Просто відобразити ключ до цієї функції? Чи можна вказати на нього "Shift-Enter"?
Freewind

@Freewind відповідь оновлена
Trey Jackson

3
Якщо ви використовуєте comment-indent-new-lineзамість цього, він також буде вставляти відповідні символи коментарів, якщо ви зараз знаходитесь в коментарі.
філс

7

Ви можете зробити щось подібне до макросу клавіатури, як це.

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

чи справді:

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

щоб уникнути використання двох різних типів синтаксису для клавіш.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.