前言(你可以跳过它):在 emacs init.el 我设置我的代码格式样式是这样的:
(setq bws-c-style
'((c-basic-offset . 2)
(indent-tabs-mode . nil) ; All indentation be made from spaces only
(c-tab-always-indent . t)
(c-offsets-alist . (
(access-label . /)
(defun-block-intro . +)
(substatement-open . 0)
(inline-open . 0)
(arglist-cont .(c-lineup-arglist-operators 0))
(arglist-cont-nonempty . c-lineup-argcont)
(arglist-cont-nonempty . (c-lineup-arglist-operators c-lineup-arglist))
(arglist-close . (c-lineup-arglist-close-under-paren))
(comment-intro . +)
(case-label . +)
)
)
(hs-special-modes-alist . (
(c++-mode "#if" "#endif" "/[*/]" nil nil)
(c++-mode "{" "}" "/[*/]" nil nil)
)
)
(c-cleanup-list . (
scope-operator
empty-defun-braces
defun-close-semi
list-close-comma
)
)
)
)
(defun lconfig-c-mode ()
(progn
(c-add-style "My Coding Style" bws-c-style t)))
(add-hook 'c++-mode-hook 'lconfig-c-mode)
使用这种风格,如果我必须将函数参数分成几行,我可以使用TAB-key 轻松对齐它们:
void foo( int one, const int& two,
const double* const three, float& our )
很方便。
问题: 是否可以设置我的代码格式样式,以便将每个单词单独对齐而不是整行?像这样:
void foo( int one, const int& two,
const double* const three, float& four )
PS 我在这里看到了一些方向,但无法理解它们,并且不确定它们是否可用于设置编码样式。