与填充段落相反


25

Emacs具有此功能fill-paragraph。是否有任何功能会与此相反?

我有一个已经填满的段落,但我想用普通单行显示吗?


1
fill-paragraph不能证明段落,除非你使用一个前缀参数,或者传递一个非nil第一个参数。参见(emacs)Fill Commands
2014年

Answers:


20

引自Stefan Monnier的Emacs Wiki

取消填充段落会将段落中的所有行合并为一行。这与FillParagraph相反。

它在行以换行符(“ \ n”)结束且段落由空行分隔的情况下起作用。要以单个换行符结束段落,请使用以下功能:

;;; It is the opposite of fill-paragraph    
(defun unfill-paragraph ()
  "Takes a multi-line paragraph and makes it into a single line of text."
  (interactive)
  (let ((fill-column (point-max)))
    (fill-paragraph nil)))

并将其绑定到密钥:

 ;; Handy key definition
 (define-key global-map "\M-Q" 'unfill-paragraph)

另请参见UnfillRegionUnwrapLine


12
这是Emacs Wiki页面UnfillParagraph的直接副本,删除了作者(Stefan Monnier)的署名。在此处发布信息会很有帮助,但至少要弄清楚谁写了代码并链接到该Wiki页面。
2014年

12
当您使用别人的其他信息时,添加归因是很礼貌的。
nicael 2014年

2
感谢Malabarba做出的更改。@KingShimkus:nicael解释了为什么这样做更好。
德鲁

2
如果发布其他人撰写的内容,则必须确认您的来源。
吉尔(Gilles)'所以

1
请注意,到源链接已更改。我在答案中进行了编辑。
smonff

4

我的方法是将光标放在段落的最后一行中,然后点击M-^几次。

此快捷方式的优点在于,除了连接线条外,它还可以将任何数量的缩进空间减少为一个。


AFAIK,您可以做M-^,只需要按住键即可。该函数名为delete-indentation
拉斯莫斯2014年

函数名称是什么M-S-^,它似乎对我不起作用?
锡比2014年

是的,功能是这样delete-indentation,快捷方式在Emacs中被描述为M-^- S我添加了shift(),因为无论如何您都必须按住它。抱歉造成混乱。
拉吉什

2

现在unfill有用于此的程序包

提供用于显式取消填充(即展开)段落和区域的命令,以及提供将在填充和取消填充当前段落或区域之间切换的命令。

最初基于Xah Lee的 示例,后来根据Artur Malabarba 的一篇文章进行了重写

它提供以下内容:

M-x unfill-region
M-x unfill-paragraph
M-x unfill-toggle
M-x toggle-fill-unfill

方便地添加您选择的键盘输入,例如:

(global-set-key (kbd "<f8>") 'toggle-fill-unfill)

您能否提供有关此@easyE的更多信息?
smonff

1
我的错误:根据Xah Lee的实施例中的代码没有被纳入作为Emacs的的一部分,但[ 包括作为MELPA包(melpa.org/#/unfill)。
easyE

@easyE对不起,您的评论与我的回答内容没有区别。
smonff

我没有说过这是有区别的。我误以为Emacs 25中包含了不满足要求的pacakge,然后我纠正了自己。
easyE

1

和往常一样,有几种方法可以做到这一点,因此我将提出另一个答案:

  1. 标记段落: M-h

  2. 查询用区域中的空格替换换行符:

    M-% C-q C-j RET SPC RET !


0

也可以通过以下方法来完成穷人的卸货:首先将其设置fill-column为一个非常高的值(我使用9999),然后再进行补货。例如,C-u 9999 C-x f M-q C-u 70 C-x f。(另外,你可能更喜欢C-9 C-9 C-9 C-9C-u 9999。)


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.