我有一個C++代碼文件,但有一個非常醜陋的indetation。我如何告訴emacs重新應用對文件的縮進?Emacs重新加載整個C++緩衝區
15
A
回答
8
這裏的「縮進整個緩衝區」的代碼我在~/.emacs.d/defuns.el
文件放置。我採取了額外的步驟,並將其綁定到快捷鍵C-x \
。這個也會清除所有懸空的空白區域,並將製表符轉換爲其空間等效表示。
(defun indent-buffer()
"Indents an entire buffer using the default intenting scheme."
(interactive)
(point-to-register 'o)
(delete-trailing-whitespace)
(indent-region (point-min) (point-max) nil)
(untabify (point-min) (point-max))
(jump-to-register 'o))
(global-set-key "\C-x\\" 'indent-buffer)
編輯,下面結合@JSONs建議會給你一個defun定義,看起來像這個:
(defun indent-buffer()
"Indents an entire buffer using the default intenting scheme."
(interactive)
(save-excursion
(delete-trailing-whitespace)
(indent-region (point-min) (point-max) nil)
(untabify (point-min) (point-max))))
我測試了這一點,它的工作原理就像以前一樣。感謝您指出了JSON。
4
選擇整個緩衝區,做M-X縮進區域
28
C-x h C-M-\
這兩個命令選擇整個緩衝器和運行indent-region
。
1
(defun iwb()
"indent whole buffer"
(interactive)
(delete-trailing-whitespace)
(indent-region (point-min) (point-max) nil)
(untabify (point-min) (point-max)))
你可以使用這個小宏(我複製這從http://emacsblog.org/2007/01/17/indent-whole-buffer/)
相關問題
- 1. emacs ediff刷新緩衝區
- 2. Markdownize Emacs緩衝區
- 3. Emacs erlang緩衝區
- 4. emacs isearch整個緩衝區的延遲加亮
- 5. 如何重新覆蓋覆蓋區周圍的Emacs緩衝區
- 6. 將Emacs緩衝區傳遞給C
- 7. 撤消用vim重新加載新的緩衝區
- 8. Emacs緩衝區組/標籤
- 9. emacs:非連續緩衝區
- 10. Emacs緩衝區管理
- 11. 在Emacs小緩衝區
- 12. Cocoa Emacs打印緩衝區
- 13. 加載stdin緩衝區
- 14. 複製整數緩衝區如果緩衝區在C
- 15. Emacs:打印一個UTF-8緩衝區
- 16. Emacs - 多列一個緩衝區
- 17. 如果沒有修改的緩衝區,重新加載完整會話
- 18. Emacs重新打開先前被殺死的緩衝區?
- 19. 爲所有活動緩衝區重新裝入.emacs
- 20. EMACS緩衝區等於文件時如何重置緩衝區修改標誌
- 21. 打開窗口並加載emacs lisp中的特定緩衝區
- 22. 是否有可能在Emacs中評估整個緩衝區?
- 23. 強制從緩衝區重新加載WebGL紋理
- 24. 重新加載並滾動所有緩衝區到底部
- 25. 如何防止NERDTree緩衝區刪除? (或重新加載)
- 26. 如何恢復emacs緩衝區列表中的緩衝區?
- 27. Emacs意外地將緩衝區切換到臨時緩衝區
- 28. 關閉緩衝區後顯示Emacs緩衝區
- 29. 讓emacs grep緩衝區使用特定的emacs緩衝區來顯示命中
- 30. 將文件加載/流式傳輸到緩衝區/緩衝區
而不是指向註冊表和跳轉到註冊表,使用save-excursion來包裝重新格式化塊可能會更好。 – JSON 2010-11-03 23:59:44