我希望在emacs中为.h和.cpp文件提供80行的文本宽度。 我试过的是,
M-x自动填充模式 C-x f
但上述解决方案无效。
我也尝试了http://www.emacswiki.org/emacs/CPlusPlusMode处的解决方案。如下所示。
; style I want to use in c++ mode
(c-add-style "my-style"
'("stroustrup"
(indent-tabs-mode . nil) ; use spaces rather than tabs
(c-basic-offset . 4) ; indent by four spaces
(c-offsets-alist . ((inline-open . 0) ; custom indentation rules
(brace-list-open . 0)
(statement-case-open . +)))))
(defun my-c++-mode-hook ()
(c-set-style "my-style") ; use my-style defined above
(auto-fill-mode)
(c-toggle-auto-hungry-state 1))
(add-hook 'c++-mode-hook 'my-c++-mode-hook)**
尽管如此,我还没有完全理解emacswiki提供的解决方案。 感谢这方面的任何帮助。
感谢。
答案 0 :(得分:0)
您只需要在这些模式中设置fill-column
,您可以通过定义一个函数来执行此操作并将该挂钩添加到相关模式(您也可以将其作为lambda
执行,但是将它放在命名函数中通常是一种很好的做法,因此如果你需要,你可以在以后将其从钩子中删除。默认情况下,*.h
文件会出现在c-mode
中,而*.cpp
文件默认会出现在c++-mode
中。首先,定义一个函数:
(defun my-c-hook ()
(setq fill-column 80))
然后,将该函数添加到相关模式挂钩:
(add-hook 'c-mode-hook 'my-c-hook)
(add-hook 'c++-mode-hook 'my-c-hook)
您可以根据自己的喜好使自己的功能变得丰富,例如,输入原来的其他物品:
(defun my-c-hook ()
(c-set-style "my-style")
(auto-fill-mode)
(c-toggle-auto-hungry-state 1)
(setq fill-column 80))