Emacs 配置

首先呢,我不是Emacs大师,也是新手,所以这里记述的也是初级配置。

首先介绍一个网页:http://tuhdo.github.io/c-ide.html

我是按照这个网页的配置做的。中间遇到一些问题,所以记述一下。

第一,按照链接网页《quick setup》走一边。我采用了《ggtags》而非《helm-gtags》是以需要修改init.el

第二,如链接网页所述,必须要学会用package,其实我就学会了安装和查看,但是不耽误往下进行了。

第三,在第一步下载下来作者的配置:

git clone https://github.com/tuhdo/emacs-c-ide-demo.git ~/.emacs.d

我以为下载下来配置以后就直接可以使用作者的操作进行练习了,其实不然,需要修改一些东西。

第三,安装GUN GLOBAL, 

sudo apt-get install global

第四,利用package安装ggtags,并修改init.el, 因为我用了ggtags, 所以我需要执行命令“ggtags-create-tags”生成源码TAGS,这样才能进行跳转之类的操作。

第五,package 里安装 sr-speedbar, column-enforce-mode;

第六,这篇文章没有提到颜色方案。我用package安装了颜色方案"color-theme-sanityinc-tomorrow"

选择一个自己喜欢的theme,修改init.el自动加载. 

第七,该配置文件默认把缩进配置成空格缩进,需要修改。分别注释掉custom/setup-general.el

和custom/setup-editing.el的如下语句:

(setq-default indent-tabs-mode nil)

并在custom/setup-general.el把TAB宽度改为8:

(setq-default tab-width 8)

最后贴上我的init.el.

(require 'package)
(add-to-list 'package-archives
         '("melpa" . "http://melpa.org/packages/") t)

(package-initialize)

(when (not package-archive-contents)
    (package-refresh-contents))

(unless (package-installed-p 'use-package)
  (package-install 'use-package))

(require 'use-package)
(setq use-package-always-ensure t)

(add-to-list 'load-path "~/.emacs.d/custom")

(require 'setup-general)
(if (version< emacs-version "24.4")
    (require 'setup-ivy-counsel))
;;  (require 'setup-helm)
;;  (require 'setup-helm-gtags))
;;(require 'setup-ggtags)
(require 'setup-cedet)
(require 'setup-editing)
(require 'ggtags)
(add-hook 'c-mode-common-hook
          (lambda ()
            (when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode)
              (ggtags-mode 1))))

;;(define-key ggtags-mode-map (kbd "C-c g s") 'ggtags-find-other-symbol)
;;(define-key ggtags-mode-map (kbd "C-c g h") 'ggtags-view-tag-history)
;;(define-key ggtags-mode-map (kbd "C-c g r") 'ggtags-find-reference)
;;(define-key ggtags-mode-map (kbd "C-c g f") 'ggtags-find-file)
;;(define-key ggtags-mode-map (kbd "C-c g c") 'ggtags-create-tags)
;;(define-key ggtags-mode-map (kbd "C-c g u") 'ggtags-update-tags)

;;(define-key ggtags-mode-map (kbd "M-,") 'pop-tag-mark)

(require 'column-enforce-mode)
(setq sr-speedbar-right-side nil)
(setq sr-speedbar-width 25)
(global-column-enforce-mode)

(require 'sr-speedbar)
(sr-speedbar-open)

;;(require 'color-theme)
;;(color-theme-initialize)
;;(color-theme-sanityinc-tomorrow-night)
;;(require 'color-theme-sanityinc-tomorrow)
;;(color-theme-sanityinc-tomorrow--define-theme night)
(load-theme 'sanityinc-tomorrow-blue t)

(setq indent-tabs-mode t)
(setq c-basic-offset 8)
(setq c-default-style "linux")
(setq default-tab-width 8)
;; function-args
;; (require 'function-args)
;; (fa-config-default)
;; (define-key c-mode-map  [(tab)] 'company-complete)
;; (define-key c++-mode-map  [(tab)] 'company-complete)
(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.
 '(custom-enabled-themes (quote (sanityinc-tomorrow-night)))
 '(custom-safe-themes
   (quote
    ("06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "2540689fd0bc5d74c4682764ff6c94057ba8061a98be5dd21116bf7bf301acfb" default)))
 '(package-selected-packages
   (quote
    (egg color-theme-sanityinc-tomorrow column-enforce-mode ggtags zygospore helm-gtags helm yasnippet ws-butler volatile-highlights use-package undo-tree iedit dtrt-indent counsel-projectile company clean-aindent-mode anzu))))
(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.
 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值