`
forever8tf
  • 浏览: 98067 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

emacs 使用 auto-complete clang 实现 c++ 代码补全

阅读更多

自从将 <CTRL> 与 <CAPS> 按键调换后,控 emacs 的心又回来了。再也不用 vim 小打小闹了。

 

auto-complete本身就是一款在 emacs 下非常强大的代码补全插件,可是受不了 cedet 的补全速度,只能干着急。众里寻她千百度,重要找到了一款在 emacs 下相当不错的代码补全插件,auto-compete-clang,速度快,配置简单,提示优美~

如下图



 很漂亮吧~

 

贴一份 .emacs 文件吧

 

;; 开启 auto-complete
(add-to-list 'load-path "~/.emacs.d/el-get/auto-complete/")
(require 'auto-complete)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/el-get/auto-complete/ac-dict/")
(add-to-list 'ac-user-dictionary-files "~/.emacs.d/el-get/auto-complete/dict/guotf.dict")
(require 'auto-complete-config)
;; 结束

;; 开启 auto-complete-clang
(add-to-list 'load-path "~/.emacs.d/el-get/auto-complete-clang/")
(require 'auto-complete-clang)  
;;(setq ac-clang-auto-save t)  
;; 设置不自动启动
(setq ac-auto-start nil)  
;; 设置响应时间 0.5
(setq ac-quick-help-delay 0.5)  
;;(ac-set-trigger-key "TAB")  
;;(define-key ac-mode-map  [(control tab)] 'auto-complete)  
;; 提示快捷键为 M-/
(define-key ac-mode-map  (kbd "M-/") 'auto-complete) 
(defun my-ac-config ()  
  (setq ac-clang-flags  
        (mapcar(lambda (item)(concat "-I" item))  
               (split-string  
                "
 /usr/include/c++/4.6
 /usr/include/c++/4.6/i686-linux-gnu/.
 /usr/include/c++/4.6/backward
 /usr/lib/gcc/i686-linux-gnu/4.6/include
 /usr/local/include
 /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
 /usr/include/i386-linux-gnu
 /usr/include
"
)))  
  (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))  
  (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)  
  (add-hook 'c-mode-common-hook 'ac-cc-mode-setup)  
  (add-hook 'ruby-mode-hook 'ac-ruby-mode-setup)  
  (add-hook 'css-mode-hook 'ac-css-mode-setup)  
  (add-hook 'auto-complete-mode-hook 'ac-common-setup)  
  (global-auto-complete-mode t))  
(defun my-ac-cc-mode-setup ()  
  (setq ac-sources (append '(ac-source-clang ac-source-yasnippet) ac-sources)))  
(add-hook 'c-mode-common-hook 'my-ac-cc-mode-setup)  
;; ac-source-gtags  
(my-ac-config)  
(ac-config-default)
;; 结束

 

详细的配置方式还是自己摸索比较好!可以参考一下两篇

这里 、还有这里

 

  • 大小: 73.3 KB
分享到:
评论

相关推荐

    emacs配置文件包含auto-complete color-theme 等

    `auto-complete`不仅支持多种编程语言,如Python、Java、C++等,还能够与其他Emacs插件(如`company-mode`)无缝集成,进一步增强补全体验。 配置`auto-complete`通常涉及以下几个步骤: 1. 安装`auto-complete`: ...

    emacs-23.2-bin-i386 含cedet,auto-complete,doxymacs,yasnippet,cscope,ecb

    其次,Auto-Complete 是一个Emacs的智能自动补全框架。它可以根据上下文提供可能的补全选项,适用于多种编程语言,极大地提高了编码速度。用户可以通过配置自定义补全源,使其支持更多的语言或特定的库。 Doxymacs ...

    auto-complete.tar

    主要包含popup-el-0.5.8.tar.gz、fuzzy-el-0.3.tar.gz和auto-complete-1.5.1.tar.gz

    auto-complete-1.3.1.tar.bz2

    auto-complete 挣点分下东西。

    emacs-25-x86_64-deps.zip

    标题中的"emacs-25-x86_64-deps.zip"指的是Emacs 25版本的x86_64架构依赖项压缩包。这个压缩包的目的是为了在Windows操作系统上提供额外的GNU库支持,以增强Emacs的功能。 描述中提到,这个"deps.zip"文件是为了...

    Emacs配置及代码补全插件

    Windows: 将文件夹中的“.emacs”文件复制到C:\ (由于系统限制暂时不支持代码不全) Linux: ...3.输入“auto-complete-master/etc/install.el”(千万不要通过选择文件进行安装) 4.按[Enter]后就能使用了

    emacs-filesystem-24.3-23.el7.noarch (1).rpm

    离线安装包,测试可用

    emacs.d-master.zip

    这些文件可以是特定功能的实现,如自动完成、代码高亮或项目管理工具。 3. **elpa/** - ELPA(Emacs Lisp Package Archive)是官方的 Emacs 包管理器,用于安装和管理外部的 Elisp 包。在这个目录下,你会找到已经...

    emacs-bin-w64-20151110-9145e79.7z

    emacs-bin-w64-20151110-9145e79.7z emacs-bin-w64-20151110-9145e79.7z emacs-bin-w64-20151110-9145e79.7zemacs-bin-w64-20151110-9145e79.7zemacs-bin-w64-20151110-9145e79.7z emacs-bin-w64-20151110-9145e79.7...

    auto-dark-emacs:Auto-Dark-Emacs是2个主题之间的自动转换器,在MacOS Dark Mode设置之后按照Darklight设置

    只需将auto-dark-emacs.el文件复制到~/.emacs.d/vendor/auto-dark-emacs/auto-dark-emacs.el (或在~/.emacs.d/vendor/auto-dark-emacs/auto-dark-emacs.el克隆此存储库),然后将以下内容添加到您的中即可.emacs :...

    emacs-23.1-bin-i386

    这个“emacs-23.1-bin-i386”版本是专为32位(i386架构)系统设计的,适用于那些运行旧版操作系统或对32位软件有特定需求的用户。 Emacs的核心特性在于其高度可定制性。它不仅仅是一个编辑器,更是一个环境,允许...

    emacs-27.1-x86_64.rar

    Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器,最新版本的emacs-windows版本

    emacs-filesystem-26.1-7.el8.noarch(1).rpm

    官方离线安装包,亲测可用

    开源项目-brantou-emacs-go-tag.zip

    这个项目的源代码位于压缩包内的`emacs-go-tag-master`目录中,包含了项目的源文件、配置、文档和其他相关资源。要开始使用这个项目,首先需要确保你已经在本地安装了Emacs编辑器,并熟悉基本的Emacs操作。接着,你...

    emacs-25.1-x86_64-w64-mingw32

    emacs的全名为GNU Emacs(,拥趸认为其为无所不能的神器,即可作为编辑器,也可以用来“煮咖啡”。...如果把下面代码加入emacs的启动文件 .emacs,则用emacs打开后缀为 .f90/.f95 的代码文件时就会自动进入f90-mode。

    emacs-auto-deployment:保存时复制文件,自动部署它。 aka自动部署

    "emacs-auto-deployment"的源代码完全由Elisp编写,这意味着用户可以根据自身需求对其进行修改和定制。例如,你可以调整部署的目标路径,添加文件过滤规则,甚至设置在部署前后的自定义操作,如执行其他脚本或发送...

    auto-complete+.el

    emacs 的自动补全插件可以在写代码时自动补全

    emacs-company-dict:ac-source-dictionary到company-mode的端口,以及注释和文档支持

    总的来说,`emacs-company-dict`是Emacs用户从`auto-complete`向`company-mode`转变过程中的理想桥梁,它保留了熟悉的字典补全体验,同时提供了更现代的补全框架所带来的优势。通过良好的文档和注释支持,`emacs-...

    Atom-atom-emacs-core-keys,仅用于核心Atom功能的Emacs密钥绑定.zip

    这个压缩包"Atom-atom-emacs-core-keys.zip"包含了一个名为"atom-emacs-core-keys-master"的文件或目录,这很可能是该项目的源代码仓库主分支。在解压并安装后,这个插件会为Atom的核心功能提供与Emacs类似的键绑定...

    emacs-lisp-intro-2.04.tar.gz

    2. **示例代码**:提供一些Emacs Lisp的示例,展示如何实现Python开发中的常见任务,如语法高亮、自动补全、错误检查等。 3. **配置文件**:可能包含预设好的Emacs配置,可以直接导入以优化Python开发环境。 4. **宏...

Global site tag (gtag.js) - Google Analytics