emacs arglist-cont-nonempty使用4个空格,而不是标签

时间:2016-09-29 07:47:29

标签: emacs indentation

所以我试图遵循旧的Sun“cstyle”标准,然后是Solaris,现在是IllumOS。他们几乎到处都使用标签,这很好。但有一种情况应该有相同的缩进,加上4个空格。

如果我设置(c-set-offset 'arglist-cont-nonempty ' 4),我会得到正确的展示位置,但因为4个空格是一个标签,所以emacs会在其中放置一个标签。如果我使用3或5,它们就是空格。在某种程度上,我可以引用一个“空格”来获得没有转换的文字4个空格,或者,或许暂时禁用标签 - 无处不在?

.emacs的其余部分在这里:

(setq default-tab-width 4)
(setq tab-width 4)
(setq-default c-indent-tabs-mode t    
            c-indent-level 4       
            c-argdecl-indent 0      
            c-tab-always-indent t
            backward-delete-function nil)  
  (c-add-style "my-c-style" '((c-continued-statement-offset 4)))
  (defun my-c-mode-hook ()
  (c-set-style "my-c-style")
  (c-set-offset 'substatement-open '0)
  (c-set-offset 'inline-open '+)
  (c-set-offset 'block-open '+)
  (c-set-offset 'brace-list-open '+)  
  (c-set-offset 'arglist-cont-nonempty ' 4)
  (c-set-offset 'case-label '+))      
(add-hook 'c-mode-hook 'my-c-mode-hook)
(add-hook 'c++-mode-hook 'my-c-mode-hook)

1 个答案:

答案 0 :(得分:0)

  

如果要在缩进时使用空格而不是制表符,请将其设置为   在.emacs文件中跟随:

(setq-default indent-tabs-mode nil)
     

您也可以自定义indent-tabs-mode变量,   明显。如果要删除现有文件中的选项卡,请标记   整个缓冲区使用C-x h并使用M-x untabify

请参阅here