我正在研究C代码。
我的问题与此question中的问题相同。
解决方案是使用空格而不是制表符。但我尝试/我更喜欢使用Smart Tabs Mode。
我已尝试启用和禁用" c-tab-always-indent"和"缩进标签模式" (在cc-mode-hook中)。
我看到的问题是,在代码的某些部分,嵌套循环生成两个Tab,如预期的那样(?)。但在某些情况下,它只生成一个选项卡和四个空格,而在其他情况下,它只生成一个选项卡,如下所示:
function_name open brace here ...code indented by 4 spaces (though I want a tab)> open_brace _tab_ code under condition _4spc_ close_brace some more 4 space aligned code _tab_ open_brace _tab+4spc_ code under some block _tab_ close_brace some more 4 space aligned code _tab_ open_brace _2 tabs_ code aligned as I prefer with two tabs _tab_ close_brace
有人可以帮助我在整个代码中获得最后一种风格吗?
我的.emacs文件在这里(我使用了一些软件包,比如cscope和hide-show,但我认为这不会引起问题):
(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ansi-color-faces-vector [default default default italic underline success warning error]) '(ansi-color-names-vector ["black" "red3" "ForestGreen" "yellow3" "blue" "magenta3" "DeepSkyBlue" "gray50"]) '(c-basic-offset 4) '(c-cleanup-list (quote (scope-operator space-before-funcall compact-empty-funcall))) '(c-default-style (quote ((c-mode . "linux") (c++-mode . "linux") (java-mode . "java") (awk-mode . "awk") (other . "gnu")))) '(c-hanging-braces-alist (quote set-from-style)) ; '(c-tab-always-indent t) '(custom-enabled-themes (quote (tango-dark))) '(save-place t nil (saveplace)) '(show-paren-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) (setq savehist-additional-variables ;; also save... '(search-ring regexp-search-ring) ;; ... my search entries savehist-file "~/.emacs.d/savehist") ;; keep my home clean (defalias 'yes-or-no-p 'y-or-n-p) ; to answer y or n instead of yes or no :-P ...I'm to lazy (setq search-highlight t ;; highlight when searching... query-replace-highlight 1) ;; ...and replacing (add-to-list 'load-path "~/.emacs.d/packages/") (add-to-list 'load-path "~/share/emacs/site-lisp") ;;;add packages ;;(require 'doxymacs) ;;; turn ons (ido-mode) (savehist-mode 1) (setq show-paren-mode 1) (global-linum-mode 1) (setq column-number-mode 1) ;;cc-mode changes (require 'smart-tabs-mode) (require 'xcscope) (cscope-setup) (autoload 'smart-tabs-mode "smart-tabs-mode" "Intelligently indent with tabs, align with spaces!") (autoload 'smart-tabs-mode-enable "smart-tabs-mode") (autoload 'smart-tabs-advice "smart-tabs-mode") (autoload 'smart-tabs-insinuate "smart-tabs-mode") (defun my-c-mode-common-hook () (setq require-trailing-newline 1) ;; Always add a final newline (which-function-mode 1) (subword-mode 1) (hs-minor-mode 1) (setq show-paren-style 'parenthesis) ; (setq indent-tabs-mode t) (smart-tabs-mode 1) ) (add-hook 'c-mode-common-hook 'my-c-mode-common-hook)