`

我的 emacs 配置文件

阅读更多
; Set up nesC syntax highlighting
(autoload 'nesc-mode "nesc.el")
(add-to-list 'auto-mode-alist '("\\.nc\\'" . nesc-mode))

; Delete selected text
(delete-selection-mode t)

; Nice highlighting
(setq-default transient-mark-mode t)
(global-font-lock-mode t)
; Good-looking code
(show-paren-mode 1)
(column-number-mode 1)

; Changes Emacs 21 made that I don't like
(blink-cursor-mode -1)
(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.
 '(blink-cursor-mode nil)
 '(c-basic-offset (quote set-from-style))
 '(column-number-mode t)
;'(cua-mode t)
 '(cua-mode t nil (cua-base))
 '(ecb-options-version "2.32")
 '(inhibit-startup-screen t)
 '(mouse-drag-copy-region nil)
 '(show-paren-mode t)
 '(x-select-enable-clipboard 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.
 )

; no sound
(setq visible-bell t )
; no start picture
;(setq inhibit-startup-message t)

; show title
(setq frame-title-format "emacs@%b")


; emacs window start position and size
(setq default-frame-alist
'((height . 35) (width . 100) (top . 80) (left . 80) (menu-bar-lines . 10) (tool-bar-lines . 10)))


; mouse behavior
(mouse-wheel-mode t)    ;enable Mouse-wheel
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1) ((control) . nil)))


;;line number
(add-to-list 'load-path "~/Emacs/")
(require 'display-line-number)
;;line number face
(make-face 'my-display-line-number-face)
(copy-face 'default 'my-display-line-number-face)
(set-face-attribute 'my-display-line-number-face t
		    :foreground "cyan"
		    :background "#3c5473")
(setq display-line-number-face 'my-display-line-number-face)
(setq display-line-number-format "%3d ")
;;display line number for all files
(global-display-line-number-mode 1)
;(add-hook 'c-mode-hook 'display-line-number-mode)
;(add-hook 'cc-mode-hook 'display-line-number-mode)

;(require 'linum)
;(setq linum-face 'my-display-line-number-face)
;(setq linum-format "%3d ")
;(add-hook 'find-file-hooks (lambda () (linum-mode 1)))
;(global-set-key [f6] 'linum-mode)


;; Load CEDET.
;; See cedet/common/cedet.info for configuration details.
(load-file "~/Emacs/cedet-1.0pre6/common/cedet.el")
;; Enable EDE (Project Management) features
;(global-ede-mode 1)

;; Enable EDE for a pre-existing C++ project
;; (ede-cpp-root-project "NAME" :file "~/myproject/Makefile")

;; Enabling Semantic (code-parsing, smart completion) features
;; Select one of the following:

;; * This enables the database and idle reparse engines
(semantic-load-enable-minimum-features)

;; * This enables some tools useful for coding, such as summary mode
;;   imenu support, and the semantic navigator
(semantic-load-enable-code-helpers)

;;short-cut for speedbar
(global-set-key[(f4)] 'speedbar-get-focus)
;(define-key c-mode-base-map [(meta ?/)] 'semantic-ia-complete-symbol-menu)

;; * This enables even more coding tools such as intellisense mode
;;   decoration mode, and stickyfunc mode (plus regular code helpers)
;; (semantic-load-enable-gaudy-code-helpers)

;; * This enables the use of Exuberent ctags if you have it installed.
;;   If you use C++ templates or boost, you should NOT enable it.
;; (semantic-load-enable-all-exuberent-ctags-support)

;; Enable SRecode (Template management) minor-mode.
;; (global-srecode-minor-mode 1)


;; LOAD ecb
(add-to-list 'load-path "~/Emacs/ecb-2.32")
(require 'ecb-autoloads)


;;Color theme
(add-to-list 'load-path "~/Emacs/color-theme-6.6.0/")
(require 'color-theme)
;;initialize color theme
(color-theme-initialize)
;;select a color theme
(color-theme-classic)


;; set tab indent
(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        . nil)
    (c-comment-only-line-offset . 0)
    (c-hanging-braces-alist     . ((brace-list-open)
								   (brace-entry-open)
				                   (statement-cont)
								   (substatement-open after)
								   (block-close . c-snug-do-while)
								   (extern-lang-open after)
								   (namespace-open after)
								   (module-open after)
								   (composition-open after)
								   (inexpr-class-open after)
								   (inline-open after)
								   (class-open after)
								   (inexpr-class-close before)))
    (c-hanging-colons-alist     . ((member-init-intro before)
                                   (inher-intro)
				                   (statement)	
                                   (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)
				                   (cpp-macro . 0)
                                   (case-label        . 4)
                                   (block-open        . 0)
                                   (knr-argdecl-intro . -)))
    (c-hanging-semi&comma-criteria  
	 . (c-semi&comma-no-newlines-before-nonblanks
		c-semi&comma-no-newlines-for-oneline-inliners 
		c-semi&comma-inside-parenlist))
    (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)


;; cancel select copy
(setq x-select-enable-primary nil)


工具的配置和安装, 附件中工具解压,copy到~/Emacs/
nesc.el (从nesc.tar解压出)放到/usr/local/share/emacs/site-lisp/ or
/usr/share/ncc/editor-modes/emacs/
分享到:
评论

相关推荐

    linux emacs 配置文件

    本配置文件基于网上提供的其他配置文件进行修改。 支持: emacs 24 +cedet 1.1 +ecb 2.40 源配置文件下载地址: http://download.csdn.net/detail/karotte/3812760

    Emacs配置文件

    这个"Emacs配置文件"就是对Emacs进行个性化调整的脚本,通常以`.emacs`或`init.el`为名。 配置文件的主要作用: 1. **快捷键定制**:Emacs提供了丰富的快捷键,用户可以通过配置文件自定义这些快捷键,使其更符合...

    我的emacs配置文件 linux

    标题提到的是个人的Emacs配置文件,用于在Linux系统上优化Emacs的使用体验。 描述中提到,这个压缩包包含两个关键文件:`.emacs`和`.emacs.d`。`.emacs`是Emacs的初始化文件,它定义了Emacs启动时执行的Lisp代码,...

    emacs配置文件

    这个名为"emacs配置文件"的压缩包应该是一个修正版的`emacs.d`,它可能已经解决了网络上其他配置中常见的缺失文件问题。使用这个配置,用户可以避免因缺少文件而导致的配置错误,更快地建立一个完整的Emacs工作环境...

    emacs配置文件 (.emacs)

    emacs config file, emacs编辑器的一个配置文件

    Emacs的配置文件

    在压缩包文件名称列表中,`my-site-start.d`和`site-lisp`是两个可能与Emacs配置相关的目录或文件。`my-site-start.d`可能是用户自定义的启动脚本目录,Emacs在启动时会遍历该目录下的所有Lisp文件并执行,这允许...

    emacs的配置文件

    在描述中提到的"pp_emacs"可能是某种特定的Emacs配置文件或者配置包,这个名字可能是"pretty print Emacs"的缩写,暗示这是一份优化了显示效果或增强了代码格式化的配置。具体来说,可能包含以下一些方面: 1. **...

    emacs 配置文件

    emacs 配置文件(已经测试适合Windows和Linux),已经包含了各个扩展,主要的功能: 基本功能: 1. 设置colortheme 2. 共享系统剪贴板 3. 显示括号匹配 4. 用y-n取代yes-no 5. 用法高亮 6. 显示时间 7. 自动保存session...

    Emacs 配置文件和脚本

    在这个主题中,我们将深入探讨"Emacs配置文件和脚本",以及与之相关的Gccsense工具。 首先,我们来看`.emacs`文件,这是Emacs的主配置文件,位于用户的家目录下。这个文件包含了Emacs启动时执行的Lisp代码,用于...

    Lemo的Emacs配置文件

    "Lemo的Emacs配置文件"很可能是一个包含了个人定制设置的.emacs或init.el文件,这个文件定义了Emacs启动时加载的一系列配置,以优化编辑环境,满足特定的编辑需求。 Emacs配置文件的核心在于Lisp脚本,因为Emacs的...

    emacs配置文件.7z

    在“emacs配置文件.7z”这个压缩包中,包含的主要是用户自定义的Emacs配置。这些配置文件通常位于用户的家目录下的`.emacs.d`或`.config/emacs`目录中,根据不同的操作系统可能会有所不同。配置文件的主要目的是优化...

    windows下安装emacs及添加配置文件代码

    以下将分为几个部分来进行详细的讲解:Emacs的安装步骤、配置文件`.emacs`的基本设置方法以及一些高级配置选项。 ### Emacs 的安装 #### 下载 Emacs 首先,需要访问GNU官方提供的Emacs下载页面(...

    Emacs配置文件(Windows)

    打开注册表编辑器(regedit),导航到`HKEY_CURRENT_USER\Environment`,在这里新建一个字符串值,名为`HOME`,其值应设置为你希望存放Emacs配置文件的路径。记得在修改注册表之前备份,以免造成不可逆的错误。 ...

    emacs常用配置需要的文件

    首先,我们需要了解Emacs配置的基本结构。Emacs的配置通常保存在`~/.emacs`或`~/.emacs.d/init.el`文件中,这是Emacs启动时加载的第一个文件。在这个文件中,我们可以编写Lisp代码来定义快捷键、加载插件、设置界面...

    自己用的emacs配置文件备份

    自己备份的emacs配置文件,用于自己后续完善

    emacs配置文件,针对emacs23.1

    为了使用这个配置,你需要将压缩包解压并将里面的`.emacs`或`init.el`文件移动到你的Emacs配置目录(通常是`~/.emacs.d/`)。如果你已经有自己的配置,需要谨慎合并以防止冲突。如果遇到问题,Emacs的错误消息通常会...

Global site tag (gtag.js) - Google Analytics