塗りつぶし段落の反対


25

Emacsには機能がありますfill-paragraph。その反対のことをする機能はありますか?

すでに記入されている段落がありますが、代わりに単純な単一行に入れたいですか?


1
fill-paragraphプレフィクス引数を使用するか、最初でない引数を渡さない限り、段落を正当化しませnil(emacs)をFill Commands参照してください。
ドリュー14年

回答:


20

Stefan MonnierによるEmacs Wikiからの引用:

段落を空にすると、段落内のすべての行が1行に結合されます。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)

UnfillRegionおよびUnwrapLineも参照してください。


12
これはEmacs WikiページUnfillParagraphからの直接コピーで、著者(Stefan Monnier)の属性は削除されています。ここに情報を投稿すると役立ちますが、少なくともコードを書いた人とそのwikiページへのリンクを明確にしてください。
ドリュー

12
他人の情報を使用する場合は、帰属を追加するのが丁寧です。
ニカエル14年

2
変更を行ってくれたMalabarbaに感謝します。@KingShimkus:nicaelはなぜこれが優れているのかを説明しました。
ドリュー

2
他の誰かが書いたコンテンツ投稿する場合は、ソースを確認する必要があります。
ジル 'SO-悪であるのをやめる'

1
変更されたソースへリンクに注意してください。答えで編集しました。
smonff

4

私の方法は、カーソルを段落の最後の行に置き、M-^数回押すことです。

このショートカットの利点は、線を結合することに加えて、インデントスペースの量を1つに減らすことです。


私の知るM-^限り、キーを押し続けるだけで十分です。関数の名前はdelete-indentationです。
ラスマス14年

機能名は何ですかM-S-^、それは私にとってはうまくいかないようですか?
シビ14年

はい、機能はdelete-indentationあり、ショートカットはEmacsで説明されていますM-^-シフト(S)は私によって追加されました。とにかくそれを保持する必要があるからです。混乱させて申し訳ありません。
ラジッシュ14年

2

現在、このためのunfillパッケージがあります

明示的に段落と領域を空にする(つまり、アンラップする)コマンドと、現在の段落または領域の塗りと空を切り替えるコマンドを提供します。

これは、されに最初に基づいて、XAHリーの に基づいて、後に書き換えアルトゥル・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リーの例に基づいてコードがいないのEmacsの一部として組み込まれますが、[ MELPAパッケージとして含ま](melpa.org/#/unfill)。
-easyE

@easyEあなたのコメントと私の回答の内容に違いはありません、ごめんなさい。
smonff

これが違いだとは言いませんでした。充填されていないパッケージがEmacs 25に含まれていると誤解していたので、自分で修正しました。
-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。)


0

Evilモードでは、VIMからのJキーバインディングがありますnormal mode。下の行と現在の行を1行に結合します。したがって、それを複数回押すことで、fill-paragraphを取り消すことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.