Emacs 自动补全插件 ycmd

Emacs 自动补全,最好的插件当属 ycmd。以下记录我的安装过程。

1. 安装 ycmd server

github 官方地址: https://github.com/Valloric/ycmd

- git 克隆 ycmd 到本地 ~/ycmd

$ git clone https://github.com/Valloric/ycmd.git ~/ycmd

- 安装必要的编译工具和库

$ sudo apt-get install build-essential cmake python-dev

- 下载完整的 submodule (比较大哦。。。)

$ git submodule update --init --recursive

- 编译 (比较慢哦。。。)

$ cd ~/ycmd

$ ./build.py --all

编译完成之后,会在当前目录下生成一个 ycmd 文件夹,现在就像这样 ~/ycmd/ycmd

2. 安装 ycmd client,还有必要的工具

- 打开 Emacs,命令 M-x list-packages, 分别安装 ycmd, company-ycmd, flycheck-ycmd

3. 配置,如下内容添加到  ~/.emacs

;;;;============================================================================================ < for ycmd start >

;;;; To use ycmd-mode in all supported modes
(require ‘ycmd)
(add-hook ‘after-init-hook #‘global-ycmd-mode)

;;;; Specify only support c/c++ mode
;;(require ‘ycmd)
;;(add-hook ‘c++-mode-hook ‘company-mode)
;;(add-hook ‘c++-mode-hook ‘ycmd-mode)

;;;; Specify how to run the server
(set-variable ‘ycmd-server-command ‘("/usr/bin/python" "/home/peterpan/ycmd/ycmd"))
;;(set-variable ‘ycmd-server-command ‘("/usr/bin/python" "~/ycmd/ycmd")) ;; Cannot use ~, should use abspath

;;;; Specify a global emacs configuration
(set-variable ‘ycmd-global-config "/home/peterpan/ycmd/examples/.ycm_extra_conf.py")
;;(set-variable ‘ycmd-global-config "~/ycmd/examples/.ycm_extra_conf.py") ;; Cannot use ~, should use abspath

;;;; Completion framework
(require ‘company-ycmd)
(company-ycmd-setup)
(add-hook ‘after-init-hook #‘global-company-mode)

;;;; Enable flycheck
(require ‘flycheck-ycmd)
(flycheck-ycmd-setup)
(add-hook ‘after-init-hook #‘global-flycheck-mode)

;;;; Set always complete immediately
(setq company-idle-delay 0)

;;;;============================================================================================ < for ycmd end >

有个问题: 补全的时候,弹出 tip 窗口,不能按 Tab 或者 Ctrl + n 键去 cycle 可选项,只能继续输入,直到第一个就是要用的,之后按 Enter 选中。你要知道怎么解决这个问题,请告诉我 :P

完。

时间: 2024-11-08 19:11:19

Emacs 自动补全插件 ycmd的相关文章

Vim自动补全插件----YouCompleteMe安装与配置

Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用的是neocomplcache+code_complete+omnicppcomplete,但效果还是不是很好.看到有YCM后前面的插件可以说拜拜了. YouCompleteMe:一个随键而全的.支持模糊搜索的.高速补全的插件.YCM 由 google 公司搜索项目组的软件工程师 Strahinja

Archlinux YouCompleteMe vim自动补全插件

Archlinux 安装和配置vim补全插件YouCompleteMe的过程. 参考: https://github.com/Valloric/YouCompleteMe https://github.com/gmarik/Vundle.vim http://www.cnblogs.com/zhongcq/p/3630047.html 1.用vundle下载YouCompleteMe和syntastic 2.pacman -S clang (编译会得到/usr/lib/libclang.so)

Ubuntu16.04安装YouCompleteMe自动补全插件

最近把VMware Workstation搞坏了,里面的虚拟机都开不起来了.重装之后过了几天还是老样子,索性安装了VirtualBox来玩. 第一件事就是安装VIM的插件,搞这个东西可谓是累死,尤其是安装YouCompleteMe,所以将过程记录下来,在此分享. 一  安装VIM8.0 首先,Ubuntu16.04上直接安装vim 1 sudo apt-get install vim 此时安装的vim默认是7.4版本的,输入以下指令可升级(Ubuntu才可以): 1 sudo add-apt-r

非常好用的JQuery自动补全插件bigautocomplete

自动补全插件,有些功能有限,有些是老外做的,不支持中文.今天发现一个国人做的,叫做bigautocomplete,还不错. 官网下载地址:http://code.google.com/p/jquery-bigui/downloads/list 如果不想翻墙的话,可以从这里下载(已经转码为UTF-8):http://download.csdn.net/detail/clementad/8917219 使用步骤: 1.把两个js和css文件放到项目中: 2.在项目页面中引用: <script src

(转) python vim编辑器自动补全插件安装

自动补全插件:pydiction 可以实现下面的python代码自动补全: 1.简单python关键词补全 2.python函数补全带括号 3.python模块补全 4.python模块内置函数,变量补全 5.form module import sub-module 补全 安装插件 wget https://github.com/rkulla/pydiction/archive/master.zip unzip -q master mv pydiction-master pydiction m

【转】Vim自动补全插件----YouCompleteMe安装与配置

原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用的是neocomplcache+code_complete+omnicppcomplete,但效果还是不是很好.看到有YCM后前面的插件可以说拜拜了. YouCompleteMe:一个随键而全的.支持模糊搜索的.高速补全的插件.YCM 由 google 公司搜索

VIM自动补全插件 - YouCompleteMe--&quot;大神级vim补全插件&quot;

VIM自动补全插件 - YouCompleteMe 序言 vim 之所以被称为编辑器之神多半归功于其丰富的可DIY的灵活插件功能,( 例如vim下的这款神级般的代码补全插件YouCompleteMe), 使用VIM的用户也多半感觉 IDE开发工具不够轻便,且IDE往往只支持特定的几种语言或者特定系统平台,多数人用来用去,还是觉得VIM最顺手,用起来最舒心. 下面这个VIM的自动补全插件——YouCompleteMe,为我们弥补了vim不能自动补全的缺憾.YCM不仅仅对C族语言的支持非常好,而且它

javascript 邮箱输入自动补全插件(转)

<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>inputSuggest_0.1.js</title> <style type="text/css"> body{margin:0;padding:0;} input{width:200px;} .suggest-container{border:1px solid

jquery 自动补全插件源码

/* 自动补全插件 */!function($){ $.fn.extend({ autocomplete:function(arr,max){ return new $.Autocomplete(this,arr,max);//如果有,就首先生成一个 } }); //构造函数 $.Autocomplete = function(input,arr,max){ this.option = {}; this.option.data = arr;//数据 this.option.max = max;