VIM自动补全神器 --- YouCompleteMe 安装全教程

YouCompleteMe安装教程 YCM安装教程下载插件管理工具Vundle安装YouCompleteMe 下载插件管理工具Vundle 在~目录下有一个.vimrc,我们安装插件只需按照规则中添加 Plugin 的名称,然后回到vim输入:PluginInstall就可以自动化安装 新建目录 mkdir ~/.vim/bundle/Vundle.vim 将Vundle克隆到本地 git clone https://gi... 阅读详情

VIM自动补全神器 — YouCompleteMe 安装全教程

前言

几天前觉得YCM在补全类成员的时候会变卡,就决定重装一次。结果很美满,但过程很痛苦。官方文档很多其他细节没有说清楚(或者是我没看清楚?),网络上很多教程都不太适合我,还有许多纰漏,在此记录一下本人安装的过程,希望对大家有帮助。

转载请注明原作者(Mr_Zing)及出处。


最基本的准备

  • linux系统(本机UBUNTU 14.04)
  • Vim 7.3以上版本(本机Vim 7.4)
  • git
  • cmake
  • 互联网

Ubuntu系统可以通过以下命令安装 vim , git , cmake

sudo apt-get install vim
sudo apt-get install git
sudo apt-get install cmake

其他系统的安装方法请自行搜索


接下来安装

  • LLVM-Clang 3.3
  • Clang 标准库
安装LLVM-Clang 3.3

注意:不要跳过任何一步,除非你可以确定已经安装或者不需要。

创建目录

mkdir ~/llvm-clang

下载
点击链接,放到刚创建的llvm-clang文件夹中
- llvm-3.3源码
- clang-3.3源码
- clang-tools-extra-3.3源码
- compiler-rt-3.3源码

解压
终端工作目录在llvm-clang/

tar -xvzf llvm-3.3.src.tar.gz
tar -xvzf compiler-rt-3.3.src.tar.gz
tar -xvzf clang-tools-extra-3.3.src.tar.gz
tar -xvzf cfe-3.3.src.tar.gz

移动
为了可以一起编译

mv cfe-3.3.src/ llvm-3.3.src/tools/clang/
mv clang-tools-extra-3.3.src/ llvm-3.3.src/tools/clang/extra/
mv compiler-rt-3.3.src/ llvm-3.3.src/projects/compiler-rt/

下载
LLVM、clang 及辅助库源码

cd ~/llvm-clang
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ../..
cd llvm/tools/clang/tools
svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
cd ../../../..
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
cd ..

创建编译文件夹
防止污染源码

cd ~/llvm-clang
mkdir llvm-build
cd llvm-build/
../llvm-3.3.src/configure --enable-optimized

此种配置后,llv-clang默认安装到目录 /usr/local/ 下, 如果想改变安装目录,则加上配置: –prefix=Path 来制定

开始编译
很久…

make -j4
sudo make install

如果以后要卸载:

cd ~/llvm-clang
sudo make uninstall


安装Clang 标准库

clang 的标准库————libc++(接口层)和 libc++abi(实现层)需要安装头文件和动态链接库(.so)*

安装 libc++

cd ~/llvm-clang
svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
cd libcxx/lib
./buildit

复制.so文件和头文件

sudo cp -r ~/llvm-clang/libcxx/include/ /usr/include/c++/v1/
ln -s ~/llvm-clang/libcxx/lib/libc++.so.1.0 ~/llvm-clang/libcxx/lib/libc++.so.1
ln -s ~/llvm-clang/libcxx/lib/libc++.so.1.0 ~/llvm-clang/libcxx/lib/libc++.so
sudo cp ~/llvm-clang/libcxx/lib/libc++.so* /usr/lib/

复制需要管理权限,也就是输入密码…

安装 libc++abi 和 动态链接库,以及复制…

cd  ~/llvm-clang/
svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
cd libcxxabi/lib
./buildit

sudo cp -r ~/llvm-clang/libcxxabi/include/ /usr/include/c++/v1/
ln -s ~/llvm-clang/libcxxabi/lib/libc++abi.so.1.0 ~/llvm-clang/libcxxabi/lib/libc++abi.so.1
ln -s ~/llvm-clang/libcxxabi/lib/libc++abi.so.1.0 ~/llvm-clang/libcxxabi/lib/libc++abi.so
sudo cp ~/llvm-clang/libcxxabi/lib/libc++abi.so* /usr/lib/

至此,前期准备完毕。



开始编译安装 YCM

  • 通过 Vundle 或 git 安装 YCM
  • 编译
  • 编辑.ycm_extra_conf.py
  • 配置 .vimrc


通过 Vundle 安装 YCM

注意:此方法简单但不直观,下载过程没有及时反馈,可能让人失去耐心(难道只有我是这样的?)

*本段参考–百度linux贴吧:vim智能补全插件YouCompleteMe新手完全攻略
作者:萝卜特头*

安装Vundle
1.将Vundle安装到 ~/.vim/bundle/vundle

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

2.编辑 .vimrc 文件

  • 打开
gedit ~/.vimrc
  • 在文件末尾添加
""""""""""""""""""""" Vundle
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle
call vundel#rc()
Bundle 'gmarik/vundle'
Bundle 'Valloric/YouCompleteMe'
filetype plugin indent on
""""""""""""""""""""" Vundle

关键的是其中以Bundle开头的行,每一个Bundle代表一个vim插件,这些省略完整URL插件都是托管在 github 上的。如果想要安装新的插件,在call vundle#rc()和filetype plugin indent on之间添加新的Bundle插件名称即可。

3.开始下载安装

:source ~/.vimrc
:BundleInstall

如果你发现,这怎么这么久都没动静,是正常的,几十M且歪果服务器呢。
安装过程中,正在安装的插件左边会有 > 标识,安装完毕的是 +或- 。
安装结束后,会在状态栏看见Done字样。

注意:安装结束之后,打开vim会出现错误:

ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need
to compile YCM before using it. Read the docs!


通过 git 安装 YCM

本段参考– marchtea 的博客,被Vim自动补全神器–YouCompleteMe 引用。

进入目标文件夹并下载

mkdir ~/.vim/bundle/
cd ~/.vim/bundle/
git clone --recursive https://github.com/Valloric/YouCompleteMe.git
git submodule update --init --recursive

说明:
1. 创建文件夹,如果已经存在,可以跳过。
2. 进入文件夹
3. 从 git 下载 YCM 文件
4. 检查仓库(即文件夹)的完整性,不可跳过

下载过程挺久,但能看到屏幕一堆堆东西跑过去还是比较安心的呀!


编译
  • 进入文件夹开始编译
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer --system-libclang
  • 说明:

    • 1.进入文件夹
    • 2.编译。--clang-completer是用于C-Family的补全,不需要可以去掉。因为系统已经安装好了clang,所以有--system-libclang
  • 创建文件夹并开始编译

mkdir ~/ycm_build
cd ~/ycm_build
cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBclang=ON -DEXTERNAL_LIBCLANG_PATH=/usr/local/lib/libclang.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
make ycm_core
make ycm_support_libs
  • 说明:
    • 1.创建编译目录
    • 2.进入目录
    • 3.开始编译
    • 4.在YouCompleteMe中生成libclang.so和ycm_core.so文件
    • 5.生成第三个文件ycm_client_support.so

注意: 如果这里出错,大概到80%时说缺少头文件<clang.h>什么的,那就是前面没有认真安装好。


编辑.ycm_extra_conf.py

打开

gedit ~/.ycm_extra_conf.py

输入(如果已存在就覆盖,也可以什么都不做)

# This file is NOT licensed under the GPLv3, which is the license for the rest
# of YouCompleteMe.
#
# Here's the license text for this file:
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
# means.
#
# In jurisdictions that recognize copyright laws, the author or authors
# of this software dedicate any and all copyright interest in the
# software to the public domain. We make this dedication for the benefit
# of the public at large and to the detriment of our heirs and
# successors. We intend this dedication to be an overt act of
# relinquishment in perpetuity of all present and future rights to this
# software under copyright law.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# For more information, please refer to <http://unlicense.org/>

import os
import ycm_core

# These are the compilation flags that will be used in case there's no
# compilation database set (by default, one is not set).
# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.
flags = [
'-Wall',
'-Wextra',
#'-Werror',
#'-Wc++98-compat',
'-Wno-long-long',
'-Wno-variadic-macros',
'-fexceptions',
'-stdlib=libc++',
# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which
# language to use when compiling headers. So it will guess. Badly. So C++
# headers will be compiled as C headers. You don't want that so ALWAYS specify
# a "-std=<something>".
# For a C project, you would set this to something like 'c99' instead of
# 'c++11'.
'-std=c++11',
# ...and the same thing goes for the magic -x option which specifies the
# language that the files to be compiled are written in. This is mostly
# relevant for c++ headers.
# For a C project, you would set this to 'c' instead of 'c++'.
'-x',
'c++',
'-I',
'.',
'-isystem',
'/usr/include',
'-isystem',
'/usr/local/include',
'-isystem',
'/Library/Developer/CommandLineTools/usr/include',
'-isystem',
'/Library/Developer/CommandLineTools/usr/bin/../lib/c++/v1',
]

# Set this to the absolute path to the folder (NOT the file!) containing the
# compile_commands.json file to use that instead of 'flags'. See here for
# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
#
# Most projects will NOT need to set this to anything; you can just change the
# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
compilation_database_folder = ''

if os.path.exists( compilation_database_folder ):
  database = ycm_core.CompilationDatabase( compilation_database_folder )
else:
  database = None

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

def DirectoryOfThisScript():
  return os.path.dirname( os.path.abspath( __file__ ) )

def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
  if not working_directory:
    return list( flags )
  new_flags = []
  make_next_absolute = False
  path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
  for flag in flags:
    new_flag = flag

    if make_next_absolute:
      make_next_absolute = False
      if not flag.startswith( '/' ):
        new_flag = os.path.join( working_directory, flag )

    for path_flag in path_flags:
      if flag == path_flag:
        make_next_absolute = True
        break

      if flag.startswith( path_flag ):
        path = flag[ len( path_flag ): ]
        new_flag = path_flag + os.path.join( working_directory, path )
        break

    if new_flag:
      new_flags.append( new_flag )
  return new_flags

def IsHeaderFile( filename ):
  extension = os.path.splitext( filename )[ 1 ]
  return extension in [ '.h', '.hxx', '.hpp', '.hh' ]

def GetCompilationInfoForFile( filename ):
  # The compilation_commands.json file generated by CMake does not have entries
  # for header files. So we do our best by asking the db for flags for a
  # corresponding source file, if any. If one exists, the flags for that file
  # should be good enough.
  if IsHeaderFile( filename ):
    basename = os.path.splitext( filename )[ 0 ]
    for extension in SOURCE_EXTENSIONS:
      replacement_file = basename + extension
      if os.path.exists( replacement_file ):
        compilation_info = database.GetCompilationInfoForFile(
          replacement_file )
        if compilation_info.compiler_flags_:
          return compilation_info
    return None
  return database.GetCompilationInfoForFile( filename )

def FlagsForFile( filename, **kwargs ):
  if database:
    # Bear in mind that compilation_info.compiler_flags_ does NOT return a
    # python list, but a "list-like" StringVec object
    compilation_info = GetCompilationInfoForFile( filename )
    if not compilation_info:
      return None

    final_flags = MakeRelativePathsInFlagsAbsolute(
      compilation_info.compiler_flags_,
      compilation_info.compiler_working_dir_ )

    # NOTE: This is just for YouCompleteMe; it's highly likely that your project
    # does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR
    # ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT.
    #try:
    #  final_flags.remove( '-stdlib=libc++' )
    #except ValueError:
    #  pass
  else:
    relative_to = DirectoryOfThisScript()
    final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )

  return {
    'flags': final_flags,
    'do_cache': True
  }

此配置文件摘抄自 marchtea 的博客 , 被 Vim自动补全神器–YouCompleteMe 引用。


编辑 .vimrc

打开

gedit ~/.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 = 0

nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR> " 跳转到定义处

后话

至此 VIM 的补全神器 YCM 安装完成,如果需要更加全面的配置方法,可以在 YCM 的 github主页 上找到。

主要参考

转载请注明原作者(Mr_Zing)及出处。

编译llvm+clang,使用libclang分析C++代码 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、准备工作二、编译llvm+clang三、使用libclang分析c++代码总结 前言 使用libclang分析C++代码,得到AST,根据节点遍历,获取所需的特定结构体内容。 一、准备工作 libclang是在clang编译后的附带产物。clang后续版本中使用了c++11等新的特性。所以要求gcc版本至大于4.8,为了不改变机器环境,编译选择安装到当前路径下。 1.升级gcc版本至稳定的7.5,通过源码安装的方式,步骤 阅读详情

相关推荐

Unreal5(虚幻五) 实现UI与C++代码逻辑的交互 保姆级教程

本人有Unity基础,刚学UE几天,把这一套处理流程记录一下备用。

qq_42915442的博客 9816

教你在vim中安装配置史上最难的You Complete Me

最近在Linux下用vim写Python,vim被称作编辑器之神,写起代码来也是6的飞起,不用鼠标纯键盘操作看起来就有种高大上的感觉,但是美中不足的是,vim并没有自动补全,这对于用惯了IDE的朋友们来说肯定是一大不习惯,于是我查了各种资料,终于一步一步的,在Ubuntu下配置好了号称史上最难安装的自动补全插件——YouCompleteMe 。

Python966的博客 3821

对冲策略与马丁结合ea的编程实践(五)核心是把两个品种合成一个新品种

在外汇、数字货币、期货交易甚至赌博中,马丁策略、网格策略是最常用的策略,也是最容易被理解的策略,但是如何克服单边行情、极端行情,是使用马丁策略最为头疼的事情,如加大间距、加大资金量,只能缓解,并不能根本解决这样的情况,所以使用时大部分时候都心里没底。 有没有一种正确的思路,让行情控制在震荡范围以内呢,这是今天我要向大家分享的一个思路,那就是对冲。大家看下图: 大家可以看到欧美(EURUSD)和镑美(GBPUSD),这两个品种,大部分时候走势是一致的,那么我们有没有可能把他们两个品种进行一下合成,比如买0.

omidsky的博客 3740

Linux安装Vim最复杂插件:YouCompleteMe

YouCompleteMe 是vim的自动补全插件。补全效果虽远不如商业IDE,但也勉强可用。可以让vim“活起来”。 但YouCompleteMe的安装非常困难,难点有二: 1:YouCompleteMe源码由多个git库拼接而成,均托管在github上。如果你所在的网络屏蔽了github,或者访问github极慢,那么除了拷贝朋友事先下载的完整包以外,就只能放弃安装YouCompleteMe了。 2:YouCompleteMe依赖安装包比较多,并且对安装包版本也有要求。如果你将安装的机器处于公司内

weixin_42252462的博客 8951

手把手教你用Simulink搭建交流异步电机矢量控制模型(附完整仿真文件)

本文提供了一份详细的Simulink仿真指南,手把手教你从零开始搭建交流异步电机矢量控制模型。内容涵盖主电路搭建、坐标变换实现、双闭环PI调节器设计、转子磁链观测器调试等核心步骤,并附有完整的仿真文件,帮助读者跨越理论到实践的鸿沟,掌握高性能电机控制系统的建模与仿真技能。

pz890123的博客 670

PHP服务端 苹果支付(IAP)处理

公司做的app需要做IAP订阅支付,开始觉得和微信的支付流程差不多,做起来还是有点麻烦,主要是网上的文章很少,不能拿来主义。自己做完总结一下,希望对小伙伴们有帮助我就很欣慰了。代码写的不好 不要喷我。。。 首先讲一下我的业务逻辑,也就是php服务端需要做什么事情。 先上图: 下面我详细的讲一下每...

山水的博客 1万+

YouCompleteMe(YCM)安装

youcompleteme安装

kim5659的博客 1776

14 | TensorFlow2对阿拉伯语手写字符数据集进行识别

该数据集由 60 名参与者书写的16,800 个字符组成,年龄范围在 19 至 40 岁之间,90% 的参与者是右手。每个参与者在两种形式上写下每个字符(从“alef”到“yeh”)十次,如图 7(a)和 7(b)所示。表格以 300 dpi 的分辨率扫描。使用 Matlab 2016a 自动分割每个块以确定每个块的坐标。该数据库分为两组:训练集(每类 13,440 个字符到 480 个图像)和测试集(每类 3,360 个字符到 120 个图像)。数据标签为1到28个类别。

微信号:RunsenLiu 2876

VIM自动补全神器 — YouCompleteMe 安装全教程

VIM自动补全神器 — YouCompleteMe 安装全教程 VIM自动补全神器 YouCompleteMe 安装全教程 前言最基本的准备接下来安装 安装LLVM-Clang 33安装Clang 标准库 开始编译安装 YCM 通过 Vundle 安装 YCM通过 git 安装 YCM编译编辑ycm_extra_confpy编辑 vimrc 后话

Faith的博客 1392

芒果YOLO11改进23:主干Backbone篇GhostNet:原创改进高效 GhostNet 网络,华为出品,打造全新检测器

主干Backbone篇GhostNet:原创改进高效 GhostNet 网络,华为出品,打造全新检测器

包括YOLOv5、YOLOv7、YOLOv8等模型改进 406

【AHE数据集】历史/未来全球网格热排放数据 PF-AHF

AHE数据集

WW、forever的博客 128

Vim自动补全神器:YouCompleteMe

From:http://www.jianshu.com/p/d908ce81017a github 地址:https://github.com/Valloric/YouCompleteMe YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim...

墨鱼菜鸡 4504

7、RNA 二级结构预测:包含接吻发夹基序的新策略

本文提出三种用于预测RNA二级结构中接吻发夹基序的新策略,结合规范化规则与非歧义动态规划,分别在时间与空间复杂度之间进行权衡。策略A以O(n⁴)时间和O(n²)空间实现高效预测;策略B通过存储次优结果扩大搜索空间,空间复杂度升至O(n³);策略C全面探索组合可能,时间复杂度为O(n⁵),但保持O(n²)空间。实验表明不同策略适用于不同复杂度的序列,为RNA结构预测提供了灵活且可扩展的解决方案。

j7k8l的博客 132

Centos 7 安装 vim自动补全神器 YouCompleteMe

1 下载最新的YouCompleteMe git clone --recursive https://github.com/Valloric/YouCompleteMe.git 检查完整性:git submodule update --init --recursive yum install python-devel 2. 安装LLVM-clang clang 是近几年发展得非常

平淡不平凡 4848

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Vim自动补全插件YouCompleteMe安装

@author zhanjzh 文章目录YouCompleteMe前提条件安装过程1. 配置vim的插件管理器 vundle2. 使用vundle安装YCM3. 配置YCM的自动补全4. 后续配置 YouCompleteMe 简称YCM,使用vim编程的人应该都有所耳闻,YCM作为Vim的补全插件真的是神器。 一般情况下,我使用vscode来编程,vscode本身就已经有很不错的补全插件,但是在...

OnlyCaptain的博客 754

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Vim智能补全插件YouCompleteMe安装

官网上给出的详细安装教程https://github.com/Valloric/YouCompleteMe 由于直接通过源安装LLVM和Clang3.4,所以想用系统的libclang.so。 :~$ mkdir ycm_build :~$ cd ycm_build/ :~/ycm_build$ cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG

StepByStep 2万+

VIM插件YouCompleteMe安装以及vim常用插件

YouCompleteMe YouCompleteMe,简称YCM,是一个模糊代码搜索,自动补全的VIM插件 安装 安装VIM8.0 1.查看vim版本信息 [root@localhost ~]# vim --version | head -1 VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 30 2018 19:56:57) 需要使用vim8....

十五十六 1191

Vim 自动补全神器-YouCompleteMe

Intro官网介绍YouCompleteMe YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim . 效果展示: 个人感觉这个vim插件用处说大也不大,说没用呢偶尔用vim改点代码还是很有帮助的。Installtion以下是mac上安装YCM的具体步骤其它系统上类似详情见官网1.

Life is just like a dream. 899

vim安装自动补全

引言Vim 无疑是世界上最好用的编辑器之一(为了不引起战争 →_→)。在广大程序员用 Vim 敲代码的过程中,代码补全功能能够大大提高生产力,尤其是对于从各种 IDE 转到 Vim 的程序员来说更是福音般地存在。本文将介绍一种推荐的代码补全工具 YouCompleteMe,并且一步步介绍它的安装方式。YouCompleteMeYouCompleteMe 是一个比较完备,并且正在日渐完备的 Vim ...

weixin_39676773的博客 5504

Linux Mint中安装Vim补全神器——YouCompleteMe的最简单的方法

最近看到一款Vim的自动补全神器——YouCompleteMe,可惜安装的方式都很复杂,安装过程也是问题百出。因此一直没有安装。 但是今天无意中看到,在Linux Mint软件源中,居然有vim-youcompleteme,然后毫不犹豫的安装了: sudo apt-get install vim-youcompleteme 然而,只是安装这个的话,并不能起到作用。终于,Google到了解决方

pdcxs007的专栏 6556

vim插件自动补齐_Vim自动补全插件----YouCompleteMe安装与配置

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

weixin_39876645的博客 611

ycm补全mysql头文件_Vim自动补全神器YouCompleteMe的配置

简洁:YouCompleteMe号称Vim的自动补全神器,该项目在github的地址:YouCompleteMe;以下在Ubuntu14.04平台配置完成插件安装操作:1、确保Vim版本至少是7.4.273,并且支持python2脚本;vim版本升级:sudo add-apt-repository ppa:fcwu-tw/ppa; sudo apt-get update; sudo apt-get...

weixin_33303537的博客 400

vim自动补全神器Youcompleteme的安装

这些天写程序总觉得vim不爽,没有自动补全功能,一个个地敲,很抓狂。 发现有个vim插件,名字是YoucompleteMe,可以完成C、C++、python等等的自动补齐功能,但是它需要编译安装。 首先进入根目录的.vim文件夹,下载Youcomplete源代码: git clone --recursive https://github.com/Valloric/YouCompleteM

不积跬步,无以致千里;不积小流,无以成江海 7609

YouCompleteMe:提升Vim编码效率的神器

YouCompleteMe:提升Vim编码效率的神器 【免费下载链接】YouCompleteMe 项目地址: https://gitcode.com/gh_mirrors/you/YouCompleteMe ...

gitblog_01051的博客 775
上一篇: ubuntu 14.04 修改grub背景图笔记
下一篇: Python 模拟登陆教务选课系统
Zing22
博客等级 码龄12年 194粉丝 30原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值