我有一个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