mac下的YouCompleteMe安装还是很麻烦的,所以我安装完之后写下此篇blog,以供诸位一起学习

此篇借鉴了网上一些文章的情况下结合了我自己的一点心得:

1.基本准备(我默认已经安装好了以下软件)

(1).homebrew(mac的包管理软件)

如果没装,则:百度搜索homebrew,进入homebrew官网,English改为简体中文,如下

然后拷贝下面的命令至终端

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

注意事项:很多网上的blog也是类似这样的一串命令,实际上也是从官网这里copy来的,其实最好还是从官网这里拷贝最新的命令,这样的就肯定不会错了。

安装好之后,终端输入:

brew doctor      (目的是为了检测是否有异常)

没有问题的话,如下Your system is ready to brew.

然后在终端输入:

brew update        (更新一下)

(2).vim(非Macvim)

如果没装,使用命令:

brew install vim

如果你想对你的vim进行配置的话,可以看以下内容:

首先:cd ~  (回到用户的主目录)

然后:ls -a  (目的是查找.vimrc    ,  .vimrc 文件是配置vim的,要注意的是,我这里指的是~/.vimrc)

如图:   如果没有.vimrc,则可以自己创建:touch  .vimrc

然后:vim .vimrc    ,配置成如下

set nu     "显示行号

syntax on   "开启语法高亮

set tabstop=4  "设置缩进为4格

set autoindent   "设置自动对齐

set backspace=indent,eol,start   "必须添加!这个是mac上防止退格键失效,

color industry     "设置终端颜色模式为industy,我比较喜欢这个颜色模式,护眼

(3).cmake  (用于之后的ycm包编译)

如果没装,使用命令:

brew install cmake

(4), git  (必备工具)

如果没装,则使用命令:

brew install git

2.开始安装YouCompleteMe

我看网上是有两种方式,一种是用vim的插件管理器bundle去安装插件YouCompleteMe,另一种是直接安装插件YouCompleteMe。

我知道有人认为这是一种方式,但是我觉得是两种,我都会一一介绍:

(1).使用vim的插件管理器bundle

首先,使用git下载bundle      (这里使用git还是很快的!)

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

注意事项:

网上有两种下载

一种是:末尾为Vundle.vim,这是新版的地址

另一种是:末尾为Vundle    ,这是旧版的地址

我这里使用新版的地址。

然后终端输入 :

cd  ~/.vim    (就可以看见下载好的bundle)

然后,打开刚才的.vimrc文件,加入以下内容(这是为了配置)

set nocompatible " be iMproved, required
filetype off " required" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end." All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

然后保存    :wq     ,并且退出

接下里就是关键部分!!!

在终端输入:

sudo vim   (必须使用sudo,否则权限不够,后面有个地方也是这样!!)

然后底行输入

:PluginInstall

如图:

没问题的话,如下显示:

看见下面显示Done!,则代表bundle插件没有问题,

注意:如果刚刚打开vim的时候没有加上sudo,则会出现如下问题

然后使用bundle插件安装YouCompleteMe

首先,

在~/.vimrc中的  call vundle#begin() 和call vundle#end    的中间 添加    Bundle 'Valloric/YouCompleteMe'

如图:

保存并退出

然后,在终端输入:

:BundleInstall         (进入安装ycm插件,本质上就是使用git下载下来)

如图:

注意:这个安装的时候没有进度条,也没有其他表示,就像是卡住了一样,不要急,这不过是正在处理,等很长时间就好了。

会显示:bundle processing。。。。。。之类的

注意⚠️:因为这里实在是太慢了,如果有耐心的人可以继续等下去,但是我没耐心,我使用的是直接用git的方式下载下来,和这个bundle的方式是一样的!!

(2).直接使用git下载YouCompleteMe

首先还是回到主目录:cd ~

然后进入以下目录:  cd ~/.vim/bundle/

然后终端输入:(必须sudo)  sudo git clone https://github.com/Valloric/YouCompleteMe.git

然后等待一会。。。。。大概快的话半个小时,主要是外网总是60k/s,慢的很

然后如图所示:

3.安装ycm的依赖项和配置  .vimrc  文件

(1).依赖项安装

首先:cd YouCompleteMe

然后,还需要安装一个依赖项!!!(我看有些文章根本没提这个,难道不会出问题吗???!!)

终端输入:(必须sudo) sudo git submodule update --init --recursive

等一会儿。。。。。。。

然后好了之后,终端输入:./install.py --clang-completer

(2).vimrc里面添加配置内容

至此,YouCompleteMe然后就安装好了,但是接下来还需要在  .vimrc 中添加一下必要的配置 (此时,这里是第三次往.vimrc添加内容了!)

终端输入:  vim ~/.vimrc

往.vimrc里面添加以下内容

" 自动补全配置
set completeopt=longest,menu "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" "回车即选中当前项
"上下左右键的行为 会显示其他信息
inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>"
inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>"
inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>"
inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>""youcompleteme 默认tab s-tab 和自动补全冲突
"let g:ycm_key_list_select_completion=['<c-n>']
let g:ycm_key_list_select_completion = ['<Down>']
"let g:ycm_key_list_previous_completion=['<c-p>']
let g:ycm_key_list_previous_completion = ['<Up>']
let g:ycm_confirm_extra_conf=0 "关闭加载.ycm_extra_conf.py提示let g:ycm_collect_identifiers_from_tags_files=1 " 开启 YCM 基于标签引擎
let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项
let g:ycm_cache_omnifunc=0 " 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_seed_identifiers_with_syntax=1 " 语法关键字补全
nnoremap <F5> :YcmForceCompileAndDiagnostics<CR> "force recomile with syntastic
"nnoremap <leader>lo :lopen<CR> "open locationlist
"nnoremap <leader>lc :lclose<CR> "close locationlist
inoremap <leader><leader> <C-x><C-o>
"在注释输入中也能补全
let g:ycm_complete_in_comments = 1
"在字符串输入中也能补全
let g:ycm_complete_in_strings = 1
"注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings = 0nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR> " 跳转到定义处

(3).在.vimrc补上还需的配置

⚠️注意:如果不做这一步的话,那么打开vim就会在下面显示NoExtraConfDetected: No .ycm_extra_conf.py file detected!!!

所以必须在  .vimrc中添加这一句话:

let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/cpp/.ycm_extra_conf.py'

如图所示:

在.vimrc里面添上这一句话之后,紧接着前往以下地方

终端输入:

cd ~/.vim/bundle/YouCompleteMe

如下所示:(我这里是已经创建好了cpp文件夹,一般来说,这里是没有cpp这个文件夹的!!)

创建cpp文件夹,终端输入:

mkdir cpp

并且进入:  cd cpp

然后创建一个文件.ycm_extra_conf.py

终端输入:sudo vim .ycm_extra_conf.py    (这个就是缺少的文件)

打开.ycm_extra_conf.py文件之后,往里面添加如下内容:(注意:以下内容是针对c,c++的)

import os

import ycm_core

flags = [

'-Wall',

'-Wextra',

'-Werror',

'-Wno-long-long',

'-Wno-variadic-macros',

'-fexceptions',

'-DNDEBUG',

'-std=c++11',

'-x',

'c++',

'-I',

'/usr/include',

'-isystem',

'/usr/lib/gcc/x86_64-linux-gnu/5/include',

'-isystem',

'/usr/include/x86_64-linux-gnu',

'-isystem'

'/usr/include/c++/5',

'-isystem',

'/usr/include/c++/5/bits'

]

SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', ]

def FlagsForFile( filename, **kwargs ):

return {

'flags': flags,

'do_cache': True

}

如图所示:

保存,并且,退出

至此全部完结!!!!,终于安装好了~~~~,啦啦啦啦啦啦

安装配置好之后的效果图如下:

哈哈哈,总算搞好了!

Mac下安装vim的插件YouCompleteMe及注意事项相关推荐

  1. 无root权限情况下安装vim以及插件

    无root权限情况下安装vim以及插件 一.概述 二.vim安装 2.1 ncurses下载安装 2.2下载vim并安装 三. vim-plug插件管理 3.1 vim-plug插件下载 3.2 插件 ...

  2. mac下安装sublime text2插件less2css

    1.安装node 2.安装less npm install -gd less 通过nvm安装的node命令不在/usr/bin下面,必须拷贝链接到/usr/bin目录下 ln -s /Users/du ...

  3. Mac下的vim简单配置

    上次使用mac用的是黑苹果 但是这次用的是MacBook Pro 继续为上次做些补充 上次大约一年前写的这篇文章虽然是mac下的vim 但是实际上是Ubuntu的 为什么这么说 是因为当时的我买了腾讯 ...

  4. mac下安装nvm以及node

    先说一下nvm,node,npm之间的区别吧. 1. nvm的官方叫法:nodejs版本管理工具. nvm相当于是家长,一个家长可以管理多个孩子.也就是说:一个nvm可以管理很多node版本和npm版 ...

  5. Mac下安装Mysql以及修改Mysql密码

    1.安装Mysql 安装有2种办法,一种是下载mysql安装文件,慢慢安装,另一种就是下载xmpp,里面自带mysql,就像是安装普通的mac软件一样,安装完毕,就有了mysql了. 方法一,官网下载 ...

  6. brew install php55redis,Mac下安装LNMP环境

    Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容 ...

  7. 转:MAC 下安装PHONEGAP开发环境

    MAC 下安装PHONEGAP开发环境 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统.采用HTML5来编写交互界 ...

  8. mac安装python环境教程_python mac下安装虚拟环境的图文教程

    Mac 下 Flask 框架 workon命令找不到 ---- 最终解决方案(详解具体实现操作过程中遇到的坑)2018年08月17日 00:02:05Jasonmes阅读数:622 Mac 下 Fla ...

  9. Mac下安装caffe(cpu-only)

    如何在Mac下安装caffe 在安装caffe之前,应该了解些计算机的基本知识,以及Linux的基本知识,这是因为Linux和Mac的操作系统非常像.比如什么是Linux,它是怎么来的?Linux和G ...

最新文章

  1. 3.相应重定向与请求转发的比较
  2. SQL Server - DAC(Dedicated Administrator Connection)专用管理员连接
  3. MySQL 在 LIMIT 条件后注入
  4. POJ1201-Intervals【差分约束,负环,SPFA】
  5. 一键多功能按键识别c语言,单片机一键多功能按键识别设计
  6. 红米note3支持html,【小米红米Note3评测】外观变化不小 金色版略显俗套_小米 红米Note3_手机评测-中关村在线...
  7. 2019蓝桥杯B组:完全二叉树权值
  8. android UncaughtExceptionHandler全局异常处理
  9. OpenStack是吞噬金钱和人力的怪兽吗?
  10. 必刷2022年辽宁最新消防设施操作员模拟题库及答案
  11. python类使用异步_异步Python类
  12. 如何从官网下载hibernate
  13. ARCore-普及篇
  14. 【Matlab】函数uigetfile的使用
  15. SQL数据库学习总结
  16. 计算机软件著作权的软件全称,软件著作权名称要求是什么
  17. input反应慢 vue_vue 输入框速度慢的问题
  18. 全站仪数据导入电脑_南方全站仪怎么连接电脑传输数据
  19. 【前端小卡】npm从0-1发布一个属于自己的包
  20. 【绘画素材】日系插画“人物表情”素材参考!告别脸部僵硬~

热门文章

  1. Python处理HDF5文件:h5py库
  2. OSDU(Open Group Open Subsurface Data Universe)数据平台研究笔记
  3. html+css常见面试问题汇总
  4. 美食杰小项目(首页)
  5. networkx画弯曲的边
  6. visualmap折线图_四、制作图表(复杂折线图)
  7. http请求错误解释
  8. html js 打印编辑页眉,js 设置网页打印的页眉页脚和页边距
  9. History 和 Hash 路由模式
  10. 图灵奖得主Geoffrey Hinton:我的五十年深度学习生涯与研究心法