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

Fre*_*ind 12 emacs

它与 eclipse 完全相同Shift+Enter

例如,我有一些文字:

Hello, *everyone.
I'm Freewind.
Run Code Online (Sandbox Code Playgroud)

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

Hello, everyone.
*
I'm Freewind.
Run Code Online (Sandbox Code Playgroud)

注意第二行有一个新行,光标在新行中。

我可以使用什么快捷键?

Ray*_*Ray 16

C-e C-m

或者

C-e C-j

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


小智 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)
Run Code Online (Sandbox Code Playgroud)

  • 如果您改用`comment-indent-new-line`,如果您当前在评论中,它还会插入适当的评论字符。 (3认同)

kin*_*ero 7

您可以制作类似于这样的键盘宏的东西。

(global-set-key (kbd "<S-return>") "\C-e\C-m")
Run Code Online (Sandbox Code Playgroud)

或者确实:

(global-set-key (kbd "<S-return>") (kbd "C-e C-m"))
Run Code Online (Sandbox Code Playgroud)

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