安装emacs

sudo apt-get install emacs25

copy大神通用配置

git clone https://github.com/purcell/emacs.d.git ~/.emacs.d

打造C/C++开发环境

CEDET

CEDET 是 Collection of Emacs Development Environment Tools的缩写, 意为”Emacs开发环境工具集”,其主要目的是在Emacs中建立一个高级的开发环境。 它主要包括下列组件:

  • Semantic -— 多种编程语言的语法分析的基础组件。
  • SemanticDB-—包含在Semantic中的一个数据库,用于保存代码的语法、接口等等信息。
  • Senator -— 通过Semantic提取出来的信息构成的代码文件中的navegation。
  • Srecode -— 代码生成组件。
  • EDE -— 提供工程管理相关功能;
  • Speedbar -— 用于显示当前Buffer的侧边栏。
  • Eieio is a library, implementating CLOS-like (Common Lisp Object System) infrastructure for Emacs Lisp;
  • Cogre is a library for drawing of UML-like diagrams in Emacs buffer, with basic integration with Semantic.

CEDET已经在emacs中内置,不用安装,只需要配置下
具体的配置说明可以参考http://www.cr173.com/html/8148_1.html

ECB

ECB(Emacs Code Browser),emacs下代码浏览器,提供了下面的功能:

  • 目录树
  • 当前目录下的文件
  • 当前文件中的class、func
  • history打开记录

看一下最后的效果图吧:

贴出我新加的配置文件

;;; init-local.el;;; user
(setq user-full-name "hewei")
(setq user-mail-address "ithewei@163.com");;; custom
(setq-default cursor-type 'bar)
(global-linum-mode t);;; CEDET
(require 'cedet)
(semantic-mode t)
(global-ede-mode t)
;;;; Mark settings
(defadvice push-mark (around global-semantic-mru-bookmark-mode activate)(semantic-mrub-push semantic-mru-bookmark-ring(point)'mark)ad-do-it)
(global-semantic-idle-summary-mode t)
(global-semantic-stickyfunc-mode t)
;;;; Include settings
(require 'semantic/bovine/gcc)
(require 'semantic/bovine/c)(defconst cedet-user-include-dirs(list ".." "../include" "../inc" "../common" "../public" ".""../.." "../../include" "../../inc" "../../common" "../../public"))(setq cedet-sys-include-dirs (list"/usr/include""/usr/include/bits""/usr/include/glib-2.0""/usr/include/gnu""/usr/include/gtk-2.0""/usr/include/gtk-2.0/gdk-pixbuf""/usr/include/gtk-2.0/gtk""/usr/local/include""/usr/local/include"))(let ((include-dirs cedet-user-include-dirs))(setq include-dirs (append include-dirs cedet-sys-include-dirs))(mapc (lambda (dir)(semantic-add-system-include dir 'c++-mode)(semantic-add-system-include dir 'c-mode))include-dirs))(setq semantic-c-dependency-system-include-path "/usr/include/");;; kbd
(global-set-key (kbd "<f2>") 'semantic-ia-fast-jump)
(global-set-key (kbd "S-<f2>") 'semantic-mrub-switch-tags)
(global-set-key (kbd "C-<f2>") 'semantic-symref)
(global-set-key (kbd "<f4>") 'ecb-minor-mode)
(global-set-key (kbd "<f5>") 'eshell)(global-set-key (kbd "C-r") 'anzu-query-replace)
(global-set-key (kbd "C-o") 'cua-set-mark)
(global-set-key (kbd "C-z") 'undo-tree-undo)
(global-set-key (kbd "C-x k") 'kill-this-buffer);;; indent
(setq-default indent-tabs-mode nil)
(setq default-tab-width 4)
(setq c-default-style "cc-mode")
(setq c-basic-offset 4)(provide 'init-local)
;;; end

emacs打造开发环境相关推荐

  1. golang ide 环境搭建_Golang 入门 : 打造开发环境

    工欲善其事,必先利其器!在学习和使用 Golang 时如果有一款得心应手的 IDE,相信一定可以事半功倍.虽然很多 IDE 都提供了对 Golang 的支持,但真正好用的没几个.VSCode 算是不错 ...

  2. idea python-IDEA里如何安装Python插件打造开发环境(图文详解)

    前言 python是一种功能强大和适用面很广的开发语言,在大数据应用和机器学习日益流行的年代,python凭借其简洁.易用和可扩展性获得很多用户的支持,近年来使用率高速增长.python环境下,集成了 ...

  3. IDEA里如何安装Python插件打造开发环境(图文详解)

    前言 python是一种功能强大和适用面很广的开发语言,在大数据应用和机器学习日益流行的年代,python凭借其简洁.易用和可扩展性获得很多用户的支持,近年来使用率高速增长.python环境下,集成了 ...

  4. emacs python开发环境_配置Emacs下的Python开发环境

    特性 在Linux论坛上总有人问Python用什么IDE比较好,然后总会有人回答说Emacs.最近开始学Python,也花了点时间研究怎么配置Emacs,发现没有想象中的那么麻烦.这篇文章大致上来自于 ...

  5. Linux下开发环境搭建---2. emacs篇

    Linux下开发环境搭建---2. emacs篇 本节主要参考:      曹乐的<在Emacs下用C/C++编程>      王纯业的<Emacs 一个强大的平台>      ...

  6. emacs 搭建racket开发环境

    emacs 搭建racket开发环境 emacs下搭建开发racket的环境,笔者之前用过下面两种模式:geiser和racket-mode.相对而言,后一种方式要显得简单.本文主要介绍后一种方式环境 ...

  7. 使用ultraedit和cl编译器打造简易c/c++开发环境

    在visual c++下,每编写一个简单的小程序,就得生成一大串中间文件,另人十分的不爽.下面提供一个新的编写c/c++程序的方法: (1),下载utraledit-32编辑器,推荐v11. (2), ...

  8. emacs Linux Java编程环境_Linux下搭建用emacs查看代码的开发环境

    在windows下面我们有source in sight可以方便的浏览大工程中的代码,切换到linux环境下开发时,我们也可以搭建一个这样的环境.下面的内容将介绍如何搭建这样一个开发环境(这里我们假设 ...

  9. Oracle APEX 系列文章2:在阿里云上打造属于你自己的APEX完整开发环境 (准备工作)...

    本文是钢哥的Oracle APEX系列文章中的第二篇,完整 Oracle APEX 系列文章如下: Oracle APEX 系列文章1:Oracle APEX, 让你秒变全栈开发的黑科技 Oracle ...

最新文章

  1. 用Go语言建立一个简单的区块链part4(1):交易(1)
  2. founder of girton college
  3. 文件上传下载-准备上传页面
  4. Request method 'GET' not supported解决方式
  5. BugkuCTF-MISC题baby_flag.txt
  6. android beaglebone,Android Based Beaglebone Spybot
  7. java有哪些技术_Java程序员,最常用的20%技术有哪些?
  8. [转载] 为什么this()和super()必须是构造函数中的第一条语句?
  9. 帮助开发者快速创建响应式布局的Boilerplate - Responsive Boilerp...
  10. Git(1):一个能够快速下载Git.exe的方法
  11. [入门] 探索FireMonkey的StyleBook皮肤控件的使用(附示例程序)
  12. android TV for x86,“掌上TV”的第一步,Android TV x86 体验分享
  13. cmake:cmake_policy命令
  14. 在Vue中使用高德地图
  15. 见微智著 - 从一个小例子看Python中的单元测试
  16. 图书api 查询图书内容
  17. 单片机加减法计算器_单片机加法计算器程序
  18. Flink HA配置
  19. 失业的程序员(七):梦想和胸襟
  20. 函数柯里化与反柯里化

热门文章

  1. 【浅刷Java数据结构】Leetcode 606 根据二叉树创建字符串
  2. 【EE308FZ Lab3-2-1】Sprint Plan: RISD-IoT-Group
  3. buuctf在线测评web Secret File
  4. 罗振宇2019-2020“时间的朋友”跨年演讲全文无删减整理,核心观点、大纲提炼
  5. go语言读取json文件的方法
  6. html2txt noblank.c
  7. 如何配置Python虚拟环境
  8. 程序员面试的奇葩问题
  9. 高防CDN在防御DDoS攻击中必不可少?简析高防CDN针对防御DDoS攻击的可行方案
  10. iOS 使用AFNetworking-----cpf