【问题标题】:emacs arglist-cont-nonempty to use 4 spaces, not a tabemacs arglist-cont-nonempty 使用 4 个空格,而不是制表符
【发布时间】:2017-02-07 10:17:03
【问题描述】:

所以我试图遵循旧的 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)

【问题讨论】:

    标签: emacs indentation


    【解决方案1】:

    如果您想在缩进时使用空格而不是制表符,请将 在您的 .emacs 文件中执行以下操作:

    (setq-default indent-tabs-mode nil)
    

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

    here

    【讨论】:

    • 不,正如我所说,他们在任何地方都使用制表符,但这种情况下 arglist-cont-nonempty 它需要 4 个空格。
    猜你喜欢
    • 2013-09-29
    • 2011-07-06
    • 2014-03-14
    • 1970-01-01
    • 2019-01-29
    • 2011-09-12
    • 2011-05-27
    • 1970-01-01
    相关资源
    最近更新 更多