10 次查看 截止到目前,vim稳定版本已经到了8.2+,ycm(YouCompleteMe的简称)最新版本与几年前的安装配置截然不同了。之前网上很多教程也教不得法,生搬硬套,没有讲透彻。..."nnoremap :tabnext "nnoremap :tabprev "关于tab的快捷键 " map tn :tabnext " map...,不需要再配置复杂的.ycm_extra_conf.py文件了 关于YCM的说明、配置都在:https://github.com/ycm-core/YouCompleteMe#c-family-semantic-completion...你可以找到任何关于ycm的信息,不过可能需要花一点时间。 ...六、最终的效果图 ? ? ? ? ? ? ? ? 下面是关于第三方库的补全: ?
在开始准备工作的时候就了解到这个插件不是很容易安装,安装的时候果然名不虚传。(关于这方面的内容,请查看另一篇文章)不过,有付出总有回报,安装之后用上这个插件,真心为这个插件的强大所折服。...YouCompleteMe的特别之处 基于语义补全 总所周知,Vim是一款文本编辑器。也就是说,其最基础的工作就是编辑文本,而不管该文本的内容是什么。.../YouCompleteMe' 保存退出后打开vim,在正常模式下输入 :BundleInstall 等待vundle将YouCompleteMe安装完成 而后进行编译安装: cd ~/.vim/bundle.... ~/.vim/bundle/YouCompleteMe/cpp make ycm_support_libs这里需要注意的是,~/ycm_temp/llvm_root_dir中包含的是根据第一步下载的压缩包解压出来的内容...在vim启动后,YCM会找寻当前路径以及上层路径的.ycm_extra_conf.py.在~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py中提供了默认的模板
红色的+python3说明vim支持python3,-号表明不支持。如果没有加入Python支持,如果使用YouCompleteMe(补全插件)就会出现警告。...安装使用YouCompleteMe库需要python-dev 1和2都是为了完成YouCompleteMe的安装 3、.vimrc文件添加插件YouCompleteMe: 输入以下代码: Plugin.../bundle/YouCompleteMe cd ~/.vim/bundle/YouCompleteMe git submodule update --init –recursive 说明: 将YouCompleteMe...下载到bundle文件下 文件定位到YouCompleteMe文件夹下 添加YouCompleteMe附加文件 这样下载完成后,再执行命令:PluginInstall安装(等待的时间其实也挺长的,多等会...5、切换到YouCompleteMe目录, 利用Anaconda中的python3执行python3 .
"nnoremap :tabnext "nnoremap :tabprev "关于tab的快捷键 " map tn :tabnext " map...,不需要再配置复杂的.ycm_extra_conf.py文件了 关于YCM的说明、配置都在:https://github.com/ycm-core/YouCompleteMe#c-family-semantic-completion...你可以找到任何关于ycm的信息,不过可能需要花一点时间。 ...六、最终的效果图 ? ? ? ? ? ? ? ? 下面是关于第三方库的补全: ?..."nnoremap :tabnext "nnoremap :tabprev "关于tab的快捷键 " nnoremap tn :tabnext
这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe这个插件。顿时激起了我折腾的欲望。...于是决定将YouCompleteMe这个插件安装好适用一下,同时,用Vundle也好让我将.vim文件夹下的文件清理一下. 一、准备 (1)相关链接 PPA for vim 7.4. ...YouCompleteMe插件要求Vim 版本在7.3.584及以上,而Ubuntu13.04源中的Vim已经比较老了。所以,我们可以在源中添加PPA,或者编译源码手动更新VIM的版本。...因此,相关路径(也即~/ycm_temp/llvmsrc/lib/libclang.so)需要替换成自己对应的路径。 4. 关于make。...下面是Syntastic的效果图,警告和错误标志可配置,光标在错误行时,vim的命令行会有相关错误信息: ? (2)遇到的问题。 libclang.so的版本一定要在3.2+,否则YCM无法正常工作。
前段时间调整了vim配置,尝试了下python-mode这个集成的配置。最终还是以体验太差告终,主要在性能方面,可能是我的Air配置太Low了。...当然除了性能问题之外,其他的PyMode已经处理的很好了。省去了装很多插件的麻烦。但问题是会帮你装上很多你用不到的插件。 于是又重新回到了自己动手的年代,毕竟性能在这摆着,最好还是按需安装。...今天又把所有的插件都梳理了一遍,该升级的升级一下。...其中关于YouCompleteMe的一个问题需要说下,具体就是 Traceback(mostrecentcalllast):File"/Users/the5fire/.vim/bundle/YouCompleteMe...Do not use if you use" https://github.com/Valloric/YouCompleteMe.letg:UltiSnipsExpandTrigger="<
etc中,修改wsl-terminal.conf中相应的部分为 ;shell=/bin/bashshell=/bin/zsh 如果提示文件只读,采取第一步中的获取权限 第六步:安装Vim plug和YouCompleteMe...jedi-vim', {'for': 'python'}Plug 'Valloric/YouCompleteMe', {'for': 'python'}"可以添加已经手动安装的插件"Plug '~/.vim.../install.py 参考: vim安装YouCompleteMe插件,与python补全插件jedi-vim 第八步:配置YCM YouCompleteMe配置后才能发挥出它强大的功效。...在~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/中提供了默认的模板。...作为语法检查器let g:syntastic_python_checkers = ['flake8']"高亮错误"let g:syntastic_enable_highlighting=1"自动跳转到发现的第一个错误或警告处
在网上看到了一篇不错的关于vim的文章,参考网上给出的资料,花了些时间,将自己的vim打造成一块go语言的IDE。...插件结束的位置,插件全部放在此行上面 call plug#end() 配置就这么简单,在begin和end块之间添加需要被安装或管理的插件 配置如下几个插件,我们即可构建出一个关于go的IDE:...当出现 vim-go: installing finished! 则安装成功! YouCompleteMe 代码提示,是IDE和编辑器的重要区别,有了代码提示,那么就可以流畅的写代码了。...vim中常用的代码提示方案就是这个YouCompleteMe的插件了,这个插件也需要安装依赖。在插件安装那一步中,完成了YouCompleteMe简称(YMC)的安装,这个还需要一个依赖的安装。...YouCompleteMe号称是vim上最难安装的插件。主要的困难还是来自网络吧,所以,在安装时,先要解决网络的问题。 最终成果
://github.com/ycm-core/YouCompleteMe.git cd /usr/local/vim/share/vim/bundle/YouCompleteMe git submodule...1) 需要将报错的模块对应的https:// 协议改成 git:// cd /usr/local/vim/share/vim/bundle/YouCompleteMe 如上报错中提示‘https:/.../usr/local/vim/share/vim/bundle/YouCompleteMe/third_party/ycmd/build.py does not exist; you probably...]# vim YouCompleteMe unavailable: unable to load Python....ycmd_49353_stderr_hfxb354_.log #重启ycmd server :YcmRestartServer #ycmd命令自动补全 :Ycm(按tab键选择,按enter确定) 版权声明
最权威的原始步骤可以参考github中关于此插件的README.md,如果时间允许的话,尽量多看几遍可以避免很多不必要的麻烦。...第一步:下载Vundle和YouCompleteMe插件 输入以下指令,下载Vundle git clone https://github.com/gmarik/Vundle.vim.git...出现的问题: E492: Not an editor command: 可能的原因有很多,比如我遇到的是权限问题,为.vim的追加写入权限 不能正常启动,有很多红色的错误...将它放在项目根目录或者指定目录,比如我放在 $HOME/.vim/bundle/YouCompleteMe/.ycm_extra_conf.py 当然记得修改.vimrc中相应的那行哦...好用的插件: YouCompleteMe http://www.linuxidc.com/Linux/2015-08/122485.htm Ubuntu 15.04下为Vim安装YouCompleteMe
看到一个介绍 C++17 的系列博文(原文),有十来篇的样子,觉得挺好,看看有时间能不能都简单翻译一下,这是第三篇~ 在之前的文章中我介绍了一些C++17语言核心层的变化,这次我会介绍更多的相关细节,涉及的主题有...[fallthrough]]属性抑制了编译器的编译警告,但是代码第12行由于缺少[[fallthrough]]属性,编译器便有可能产生告警.第14行代码的[[fallthrough]]声明是病态的,因为其后没有跟随...case标签(或者default标签). nodiscard [[nodiscard]]属性可以用于函数声明,枚举声明以及类声明中.如果你丢弃了一个声明为[[nodiscard]]的函数的返回值,编译器就会产生一个编译警告....同样的,如果你丢弃了函数中返回的(声明为)[[nodiscard]]枚举或者(声明为)[[nodiscard]]类,编译器同样会给出警告,抑制该类警告的一种方法就是对返回值进行一次void转型操作....[[maybe_unused]]属性,所以编译器不会产生警告,同样的,虽然代码中也没有使用参数 thing2, 但是由于 thing2 也声明了[[maybe_unused]]属性,所以也不会产生编译警告
(5).安装YouCompleteMe'插件 (6).安装go插件 1.安装go环境 2.安装vim-go插件 3.修改go.vim (7).安装树形目录插件 (8).vim...Python版本:3.6.8,pthon3的版本差异也会导致出现问题; YouCompleteMe版本:master最新; Vim版本:8.1-2171 go版本:version go1.13.3...或是1.1.1之上,所以有可能需要升级系统的 2.因为后续还要安装YouCompleteMe插件,YCM插件需要vim支持python2,所以这里python2和python3都有配置。...另一种方式就是在文件内容中指定,Vim会从文件的头几行自动扫描文件是否有声明文件的类型的代码,如在文件的行首加入# vim: filetype=python,Java文件变通的做法/* vim: filetype...~/.vim/bundle/YouCompleteMe 然后: cd ~/.vim/bundle/YouCompleteMe python3 install.py --clang-completer
全面盘点17个C++17的高级特性 C++17是目前比较常用的版本之一,今天花时间来梳理一下17个重要特性,所有的特性也不止这么点。 1. 并行算法 C++17引入了许多并行版本的标准库中的算法。...结构化绑定 结构化绑定允许你将对象分解成其构成元素,类似于你可能会用到的元组拆包。...hello", 3.14); auto [i, s, d] = t; // i = 42, s = "hello", d = 3.14 } 在此例子中,结构化绑定[i, s, d]将元组t分解成其构成元素...>typename bob> struct foo {} 声明了一个名为 foo 的模板,它接受一个名为 bob 的模板模板参数。模板模板参数 bob 本身接受任意数量的模板类型参数。...get_sum(int a, int b) { return a + b; } int main() { auto result = get_sum(1, 2); // 编译器可能会警告
这也是我看过的最好的命令图示,看完了前面的基本教程后,可以将它作为一个cheat sheet随时查看,相信用不了多久你也可以完全丢掉它。关于此图的详细解释可以参考 这里 。...但是YouCompleteMe的出现彻底的改变了这一现状,它对代码的补全完全终于也达到了编译器级别,绝不弱于Visual Assist,遇到它是我使用VIM之后最兴奋的一件事。...代码跳转可以绑定一个快捷键: nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration ,很好理解,先跳到定义,如果没找到,则跳到声明处...相信大家经常在写代码时需要在文件开头加一个版权声明之类的注释,又或者在头文件中要需要: #ifndef... #def......现在它可以和上面介绍的YouCompleteMe插件一块使用,比如在敲完 ifn 时,YouCompleteMe会将这个snippet也放在下拉框中让你选择,这样你就不用去记何时按 来展开
不同编译器有不同的属性语法,比如对于GNU ,属性是通过关键字__attribute__来声明的,常见的有format、noreturn、const和aligned等,申明语法如下: __attribute...); } 那么对于func函数来说,由于使用memory_order_release的内存顺序,p2.store对p的使用会被保证在任何关于p的操作之后进行。...3.C++14与C++17通用属性 在C++11的基础上,C++新标准C++14与C++17对通用属性进行了补充,主要有: (1)[[deprecated]]与[[deprecated(“reason”...(2)[[fallthrough]] 标准:C++17; 作用:出现在switch语句中,抑制上一句case没有break而引起的fallthrough的警告; 示例: switch(i)...示例: [[nodiscard]] int something() { return 1; } (4)[[maybe_unused]] 标准:C++17; 作用:抑制编译器在未使用实体上发出警告
尤其是代表性的 YouCompleteMe 插件....最主要是因为 SpaceVim 使用 deoplete 代替 YouCompleteMe 作为代码补全插件..../install.sh 由于 vimplus 内置了 YouCompleteMe, 并且会自动进行编译, 省了不少心. 安装过程比较久, 请耐心等待. 但是仍然不能保证100%安装成功....比spacevim简洁了不少. vim作死版 – 尝试手动安装 YouCompleteMe 简介 YCM是vim史上最NB插件, 没有之一. 同时也是史上最难安装的插件, 也没有之一....语法检查 模糊匹配 跳转到声明/定义 进入 include 的头文件 支持很多其他的主流编程语言(不过C++支持的最好) 软件依赖 vim8.0或者neovim 0.2.0 只支持x86
完整的配置文件参见: PytLab/dotfiles 修改快捷键前缀 关于tmux的配置比较简单,我先把快捷键的前缀从Ctrl-b换成了Ctrl-l,主要是根据个人喜好,因为这样左手Ctrl右手l个人觉得比较方便...完整的vim配置文件参见: PytLab/dotfiles 关于Vim安装 这里主要说一下在Mac上的Vim安装,Vim的官网以及YouCompleteMe的README都有推荐使用MacVim, 但是如果我们并不想在使用...自动补全神器YouCompleteMe YouCompleteMe是一个非常强大的Vim自动补全插件,他的特别之处就在于他并不是像vim自带的Ctrl-x和Ctrl-n那样基于文本进行补全,而是基于语义...具体的安装请参考YCM的安装说明: Valloric/YouCompleteMe YCM的相关设置: " Plugin YCM settings.set completeopt=longest,menulet..." Plugins.Plugin 'VundleVim/Vundle.vim'Plugin 'Valloric/YouCompleteMe'Plugin 'nathanaelkane/vim-indent-guides'Plugin
本文字数:1500,阅读时长大约:10分钟 一、YUM源配置 本文假设你已经安装好了一个 Linux 操作系统,关于如何安装 Linux,可以参考《虚拟机安装 Linux 最完整攻略》 下载阿里的YUM...关于Git是什么,可以参考我之前的文章《一篇文章快速搞懂什么是GitHub》,这里不再过多介绍。...(3)安装 Vundle Vundle是Vim bundle的缩写,是一个Vim插件的管理器。通过Vundle我们可以安装很多有用的插件。...(5)自动补全 自动补全是代码编辑器中最重要的特性,当前Vim用的比较多的插件有YCM(YouCompleteMe)和Coc。...具体的安装步骤可以参见GitHub上的说明: YCM: https://github.com/ycm-core/YouCompleteMe Coc: https://github.com/neoclide
3 个单词的末尾 # 0 移动到行首 # $ 当前行的末尾 # gg 文件第一行 # G 文件最后一行 # 行号+G 指定行 # +o 跳转回之前的位置 # +i 返回跳转之前的位置...\ } # o 打开关闭文件或目录 # e 以文件管理的方式打开选中的目录 # t 在标签页中打开 # T 在标签页中打开,但光标仍然留在 NERDTree # r 刷新光标所在的目录 # R 刷新当前根路径...后一个 tab scrooloose/nerdtree vim-nerdtree-tabs nerdtree-git-plugin 代码,引号,路径补全 Plug 'Valloric/YouCompleteMe...Plug 'Raimondi/delimitMate' Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Valloric/YouCompleteMe...Prettier Plug 'prettier/vim-prettier' prettier/vim-prettier 总结 最后,呈上 参考配置 .vimrc,如果关于 vim 有更好的 idea,
作者:枫上雾棋 链接:https://segmentfault.com/a/1190000011466454 Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项...,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下。...[5] ◈ nerdtree-git-plugin[6] 代码,引号,路径补全 Plug 'Valloric/YouCompleteMe' Plug 'Raimondi/delimitMate' Plug...[27] 总结 最后,呈上参考配置 .vimrc[28],如果关于 vim 有更好的 idea,欢迎在评论中交流。...[6]: https://github.com/Xuyuanp/nerdtree-git-plugin [7]: https://github.com/Valloric/YouCompleteMe [
领取专属 10元无门槛券
手把手带您无忧上云