Emacs
在 Emacs 中取消自動填充
使用 Emacs 時(版本 24.1,如果有任何區別),我想有一種方法可以刪除
auto-fill
次要模式插入的所有自動換行符。禁用
auto-fill-mode
足以避免插入新的自動換行符,但對取消現有換行符沒有任何作用。我找到了一種方法來做我想做的事,但我想知道這是否是最好的方法。我在這裡描述它,希望它能幫助更好地解釋我的問題:
C-u 1000 C-x f
:將 設置current-fill-column
為任意大的值。C-x h
:選擇緩衝區中的所有文本M-q``current-fill-column
:根據新值重新排列換行符。如果該值足夠大,這將模擬我正在尋找的行為。M-x auto-fill-mode
:禁用自動填充模式。我想知道這是否是一個好方法,或者是否有更好的方法。
您可以進行搜尋和替換:
M-% (Prompt: Query replace: ) C-q C-j Enter (Prompt: Query replace with: )Enter
Emacs 現在將開始用空替換每個換行符。如果您想擺脫所有這些,請按
!
。如果您想驗證每次刪除,請在適當的時候按住y
或。n
自動填充插入的換行符與其他方法插入的換行符沒有區別(鍵入,複製粘貼,從搜尋和替換,…)。根據您的描述,您嘗試做的似乎是用空格替換單個換行符,並單獨留下多個連續的換行符。您可以使用正則表達式替換來做到這一點,但這並不比您一直在做的簡單得多。呼叫
M-x replace-regexp
(或M-%
)替換\(.\)^J\(.\)
為\1 \2
(其中^J
是文字換行符,您可以通過鍵入來插入C-q C-j
。如果您有包含單個字元的行,這將失去一些換行符,請再次執行該命令以替換這些換行符。