如何在emacs中插入新行并跳转到它?


12

与eclipse完全相同Shift+Enter

例如,我有一些文字:

Hello, *everyone.
I'm Freewind.

*第一行是光标。然后我按一些快捷键,它变成:

Hello, everyone.
*
I'm Freewind.

请注意,第二行中有新行,光标位于新行中。

我可以使用什么快捷键?


3
我总是使用Ce,然后输入。

Answers:


16

C-e C-m

要么

C-e C-j

两者都将移至行尾并添加换行符。第二个也会缩进。


我可以映射一个按键来完成这项工作,所以我只需要按下一次?
Freewind

那是一个关键的映射。Emacs允许将命令绑定到键序列,并且大多数命令是两个键。绑定到一个键通常是一个坏主意,因为一个键的大部分是emacs的基础知识。
罗斯·帕特森

C-e调用move-end-of-lineC-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答案更新
特雷-杰克逊

3
如果您使用comment-indent-new-line它,则如果您当前在注释中,它还将插入适当的注释字符。
phils

7

您可以像这样的键盘宏进行操作。

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

或确实:

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

避免对键使用两种不同的语法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.