Emacs Mh 选择段落+额外行

Emacs Mh 选择段落+额外行

在 Emacs 中,当我键入M-h( mark-paragraph) 时,Emacs 会选择点下的段落以及额外的行(通常位于段落的正上方)。有没有办法让 Emacs 只选择段落?

笔记:我在 下注意到了这种行为shell-script-mode,但没有检查其他主要模式是否也会发生这种情况。

答案1

这就是 Emacs 区分段落的方式。我不会反对它。这样,如果您继续按 M-{,更多段落会被无缝标记。如果你真的想缩小一行,只需 Cn。

我并不是有意无礼,但是从 Windows 背景开始使用 Emacs,我浪费了很多时间试图让它工作确切地我多么想要。 CUA、删除选择等等等等,我学到了很多,但也浪费了很多时间。

现在我在禁用大部分功能的情况下运行 Emacs,并且我实际上发现“Emacs 范例”有效。大多数时候。

答案2

我也是 Vim 用户,一开始我想要类似的行为,但多想一点,我发现 Emacs 的做法更符合逻辑,想象一下这种情况:你想删除另外两个段落之间的一个段落,如果你只需选择没有多余行的行,您将在提醒段落之间出现两个空行。

即使这样,我也有一个函数只选择段落,没有额外的行:

;; mark just the paragraph
(defun dg-mark-paragraph ()
  (interactive)
  (mark-paragraph)
  (goto-char (region-beginning))
  (when (= (string-match paragraph-separate (thing-at-point 'line)) 0)
    (forward-line)))

(global-set-key (kbd "M-8") 'dg-mark-paragraph)

相关内容