基本搞定emacs的缩进

原创 2006年05月22日 19:05:00
emacs很强大,但是强大是以复杂的配置为前提的!没有配置好的时候,可能它比notepad还要难用。

前一段时间我就被缩进弄得晕头转向,tab经常是缩进5个空格,源码会乱,等等,我都几乎要放弃emacs了。

今天偶然看了看emacs自带的manual中的cc-mode一节,哇,发现新大陆了!不光讲得很细,还有个例子,拷过来就可以用了,那缩进,怎一个酷字了得!

后来又参考了王垠ann77的主页,将tab和缩进基本搞定,下面是配置内容:

(setq indent-tabs-mode nil)
(setq default-tab-width 4)
(setq tab-width 4)
(setq tab-stop-list ())
(loop for x downfrom 40 to 1 do
      (setq tab-stop-list (cons (* x 4) tab-stop-list)))

(defconst my-c-style
  '((c-tab-always-indent        . t)
    (c-comment-only-line-offset . 4)
    (c-hanging-braces-alist     . ((substatement-open after)
                                   (brace-list-open)))
    (c-hanging-colons-alist     . ((member-init-intro before)
                                   (inher-intro)
                                   (case-label after)
                                   (label after)
                                   (access-label after)))
    (c-cleanup-list             . (scope-operator
                                   empty-defun-braces
                                   defun-close-semi))
    (c-offsets-alist            . ((arglist-close . c-lineup-arglist)
                                   (substatement-open . 0)
                                   (case-label        . 4)
                                   (block-open        . 0)
                                   (knr-argdecl-intro . -)))
    (c-echo-syntactic-information-p . t)
    )
  "My C Programming Style")

;; offset customizations not in my-c-style
(setq c-offsets-alist '((member-init-intro . ++)))

;; Customizations for all modes in CC Mode.
(defun my-c-mode-common-hook ()
  ;; add my personal style and set it for the current buffer
  (c-add-style "PERSONAL" my-c-style t)
  ;; other customizations
  (setq tab-width 4
        ;; this will make sure spaces are used instead of tabs
        indent-tabs-mode nil)
  ;; we like auto-newline and hungry-delete
  (c-toggle-auto-hungry-state 1)
  ;; key bindings for all supported languages.  We can put these in
  ;; c-mode-base-map because c-mode-map, c++-mode-map, objc-mode-map,
  ;; java-mode-map, idl-mode-map, and pike-mode-map inherit from it.
  (define-key c-mode-base-map "/C-m" 'c-context-line-break)
  )

(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

emacs tab 缩进空格 写给自己看的

(setq indent-tabs-mode nil) ; tab 改为插入空格 (setq c-basic-offset 4) ; c c++ 缩进4个空格 (setq default-tab-wi...

emacs中c代码的缩进问题

原文地址:http://www.emacswiki.org/emacs/IndentingC 设置空格代替tab缩进,并且tab宽度为四个空格,同时设置c代码中语句首字母与括号对齐,下面四句...

emacs中cc-mode的缩进配置方法详解

转载地址: http://hi.baidu.com/susdisk/blog/item/b33a6bcaf6d24e4cf21fe78a.html emacs的初学者首先应该用到的就是...

linux下c/c++实例之二日志记录及文件读取

Linux下封装一些函数将需要的日志信息打印到控制台或写入文件,并读取文件。

emacs缩进问题

  • 2012-01-31 16:12
  • 57KB
  • 下载

emacs中cc-mode的缩进配置方法详解

emacs中cc-mode的缩进配置方法详解     emacs的初学者首先应该用到的就是语法高亮和代码缩进配置了,代码缩进的配置一般来讲是使用cc-mode。网上有不少已经配置好的配置文件,但这些...

Emacs自定义配置(一):智能复制行,未选定时注释当前行,Copy后智能缩进

直接把以下代码Copy进.emacs文件中;;===================================================================== ;;Copy代...

Python成长之路(一)——准备、基本数据类型、序列、运算、缩进和选择

Python成长之路(一)——准备、基本数据类型、序列、运算、缩进和选择
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)