gvim 安装YCM
gvim的插件安装笔记
1.安装vunble插件
该插件主要用于管理别的插件,借助与git,从github来下载插件,实现自动安装
前提条件是git安装正确,可以听过cnd使用,并且可以正确访问github
- 首先从github下载vunble,https://github.com/Valloric/YouCompleteMe,拷贝至 vim安装目录/vimfiles/bundle 目录下,其中新建的bundle主要用于存放安装的插件,应该也可以用其他的名字
git clone https://github.com/Valloric/YouCompleteMe.git
- 配置 _vimrc 文件,Bundle ‘插件’,该插件将会被安装,其他的不懂 ::
filetype off
set rtp+=$VIM/vimfiles/bundle/vundle/
call vundle#rc('$VIM/vimfiles/bundle/')
Bundle 'gmarik/vundle'
filetype plugin indent on
Bundle 'Valloric/YouCompleteMe'
Bundle 'Valloric/ListToggle'
Bundle 'scrooloose/syntastic'
filetype plugin indent on
- vunble命令
:BundleList -列举出列表中(.vimrc中)配置的所有插件
:BundleInstall -安装列表中全部插件
:BundleInstall! -更新列表中全部插件
:BundleSearch foo -查找foo插件
:BundleSearch! foo -刷新foo插件缓存
:BundleClean -清除列表中没有的插件
:BundleClean! -清除列表中没有的插件
2.安装YouCompleteMe
该插件主要用于自动补全,该插件需要编译,主要是为了三个文件,ycm_core.pyd,ycm_client_support.pyd,libclang.dll(这个要看编译的选项是否包含LLVM)
wiki上的编译指导:https://github.com/Valloric/YouCompleteMe/wiki/Windows-Installation-Guide
编译之路坎坷,看看官方的文档最有用
- 下载插件,如果安装了vunble,则直接使用其安装命令,就会自动下载,也可以手动下载,地址:https://github.com/Valloric/YouCompleteMe.git
- 可能在git下载代码时,下载不完全,缺少部分引用的外部模块,可以使用命令 git submodule update --init --recursive 继续下载
- 首先进入 YouCompleteMe 的目录,新建文件夹 ycmd_build,该文件夹主要用于cmake生成的工程文件存放
- 进入ycmd_build文件夹,执行命令:cmake -G “Visual Studio 10” -DPATH_TO_LLVM_ROOT=”C:\My\Path\To\LLVM” . ..\third_party\ycmd\cpp ,使用的vs2010,并包含了clang
- 在 ycmd_build 找到生成的sln工程,打开,编译ycm_core和ycm_client_support 两个工程,使用release版本
- 编译完成后,如果是使用的vunble安装的,则 YouCompleteMe 就只剩下在vimrc中配置一下,就可以了
- _vimrc配置,从别的地方拷贝的,我使用的时候都是把注释删掉,怕出问题
" YouCompleteMe 功能
" 补全功能在注释中同样有效
let g:ycm_complete_in_comments=1
" 允许 vim 加载 .ycm_extra_conf.py 文件,不再提示
let g:ycm_confirm_extra_conf=0
" 开启 YCM 基于标签引擎
let g:ycm_collect_identifiers_from_tags_files=1
" 引入 C++ 标准库tags,这个没有也没关系,只要.ycm_extra_conf.py文件中指定了正确的标准库路径
set tags+=/data/misc/software/misc./vim/stdcpp.tags
" YCM 集成 OmniCppComplete 补全引擎,设置其快捷键
inoremap <leader>; <C-x><C-o>
" 补全内容不以分割子窗口形式出现,只显示补全列表
set completeopt-=preview
" 从第一个键入字符就开始罗列匹配项
let g:ycm_min_num_of_chars_for_completion=1
" 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_cache_omnifunc=0
" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax=1
" 修改对C函数的补全快捷键,默认是CTRL + space,修改为ALT + ;
let g:ycm_key_invoke_completion = '<M-;>'
" 设置转到定义处的快捷键为ALT + G,这个功能非常赞
nmap <M-g> :YcmCompleter GoToDefinitionElseDeclaration <C-R>=expand("<cword>")<CR><CR>
- 最后碰到的问题
- 启动的时候出现runtime error RR6034。。。,这个是在path中的目录下有两份msvcr90.dll, msvcp90.dll存在,我是直接把其中一个在path中的目录,给去掉了,也就是cmake的的目录
- 启动vim的时候出现 YCM libraries found in old YouCompleteMe/python location; please RECOMPILE YCM. 错误,这个一般是因为将ycm_core.pyd等相关文件拷贝到了YouCompleteMe\python下,其实这步是多余的,编译完成的目录下的这些文件所在的目录 YouCompleteMe\third_party\ycmd 就是正确的目录,参考连接:https://github.com/Valloric/YouCompleteMe/issues/1172
在win7 X64下使用vs2013编译,命令为 "C:\Program Files (x86)\CMake\bin\cmake.exe" -G "Visual Studio 12 Win64" -DPATH_TO_LLVM=C:\LLVM . ..\third_party\ycmd\cpp
gvim 安装YCM的更多相关文章
- VIM安装YCM插件
折腾了两天,终于好了 1.配置VIM (1)下载相关插件 sudo apt-get install git sudo apt-get install build-essential cmake sud ...
- gvim 安装YouCompleteMe插件
可以参考:YouCompleteMe#full-installation-guide 可以直接下载: http://pan.baidu.com/s/1dDIq2Al 密码: si5q 确保vim支持p ...
- gVim安装vim-template插件后提示Undefined variable vim_template_subtype/Press ENTER or type command to continue
Win7 64位 gVim:version 8.1.1234 vim-template:github链接 安装方式: 直接下载master的zip压缩包,解压后放入本地gVim安装目录的plugin, ...
- Vim:gvim安装配置(windows)
Vim:gvim安装配置(windows) 一.gvim的特点: vim要求全部键盘操作,而gvim可以使用鼠标进行可视化操作,即gvim是vim的图形化界面: 二.gvim安装: 下载地址:http ...
- Mac 安装YCM
① 安装Xcode的同时, 安装配套的命令行工具, 包括git, cmake, clang ② 安装Macvim, 并在~/.bashrc文件中设定别名, alias vim="/path/ ...
- GVIM安装手记
GVIM安装手记 1. 安装GIT及GVIM Downloa Git URL : https://gitforwindows.org/ Downloa GVim URL : https://www.v ...
- vim安装 YCM 过程记录
YCM(YouComplateMe) 属于Vim中大神级的插件,提供了类似于巨硬爸爸的VS中的代码补全,但是其安装方式也是比较复杂,因此特意写下一篇记录,记录下我自己如何安装这一插件的过程: 检查自己 ...
- gvim安装中文文档
今天下载了个gvim一直无法安装中文中文文档,以为是版本原因,又下了几个版本,后来发现都不行. 最后发现是文档安装位置不对,需要放到vim/vim47目录下才行 以下是翻墙在官网下的gvim74和vi ...
- Gvim安装nerd_tree插件
1.先去官网下载nerd_tree插件 http://www.vim.org/scripts/script.php?script_id=1658 2.解压缩将nerd_tree目录下的doc目录和pl ...
随机推荐
- mysql 基础 增删改查语句
MySQL:众多关系型数据库中的一种仓库 --数据库箱子 --表数据库:进入mysql 命令行: mysql -uroot -p查看所有数据库: show databases;创建数据库: creat ...
- hdu2848 Visible Trees (容斥原理)
题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...
- Java中接口和抽象类的区别
经常看到这样的问题,就是问这两个的区别,我这也总结一下: 1,宏观上说,一个是类,一个是接口,类只支持单一继承,接口支持多个继承 2,微观上说,就是从内部来说 a,成员变量方面 接口可以包含方法,属性 ...
- maven/gradle 打包后自动上传到nexus仓库
前提: nexus的相关repository必须设置允许redeploy,参考下图: maven项目: pom.xml中增加以下节点: <distributionManagement> & ...
- [LeetCode] Intersection of Two Linked Lists 求两个链表的交点
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...
- 占位符行为 PlaceHolderBehavior 的实现以及使用
这个效果我不太会描述 PlaceHolder直译占位符 也有人把这个效果叫水印效果 就是和HTML5的PlaceHolder属性一样的效果 上图直观: 使用方法: 首先下载 占位符行为dll.rar ...
- C#扩展方法
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法就相当于一个马甲,给一个现有类套上,就可以为这个类添加其他方法了. 马甲必须定义为stati ...
- autofs自动挂载
autofs是根据需要自动挂载,默认5分钟不使用自动卸载挂载点!nfs,smb,iso,sd*的挂载 环境:RHEL6.5/Centos6.5 172.24.0.25 01.安装autofs y ...
- HTML <meta> 标签,搜索引擎
关于Mate标签的详尽解释,请查看w3school 网址为:http://www.w3school.com.cn/tags/tag_meta.asp meta标签作用 META标签是HTML标记HEA ...
- RabbitMQ总结概念
AMQP:一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计 http://www.diggerplus.org/archives/3110 AMQP ...