Vim 插件管理

Vim 插件应用篇 vim-plug:简洁高效的Vim插件管理工具 Vim-plug是一个Vim插件管理器,利用异步并行可以快速地安装、更新和卸载插件。它的安装和配置都非常简单,而且在操作过程中会给出很多易读的反馈信息,是一个自由、开源、速度非常快的、并行地安装或更新插件,极简的 vim 插件管理器。Vim-plug的获取链接:https://github.com/junegunn/vim-plug。 阅读详情

从git上看到的一篇文档 https://github.com/MerlinFeng/use_vim_as_ide
正好在研究VIM 所以分享下

.vim/ 目录是存放所有插件的地方。vim 有一套自己的脚本语言 vimscript,通过这种脚本语言可以实现与 vim 交互,达到功能扩展的目的。一组 vimscript 就是一个 vim 插件,vim 的很多功能都由各式插件实现。此外,vim 还支持 perl、python、lua、ruby 等主流脚本语言编写的插件,前提是 vim 源码编译时增加 —enable-perlinterp、–enable-pythoninterp、–enable-luainterp、–enable-rubyinterp 等选项。vim.org 和 github.com 有丰富的插件资源,任何你想得到的功能,如果 vim 无法直接支持,那一般都有对应的插件为你服务,有需求时可以去逛逛。

vim 插件目前分为 .vim 和 .vba 两类,前者是传统格式的插件,实际上就是一个文本文件,通常 someplugin.vim(插件脚本)与 someplugin.txt(插件帮助文件)并存在一个打包文件中,解包后将 someplugin.vim 拷贝到 ~/.vim/plugin/ 目录,someplugin.txt 拷贝到 ~/.vim/doc/ 目录即可完成安装,重启 vim 后刚安装的插件就已经生效,但帮助文件需执行 :helptags ~/.vim/doc/ 才能生效,可通过 :h someplugin 查看插件帮助信息。传统格式插件需要解包和两次拷贝才能完成安装,相对较繁琐,所以后来又出现了 *.vba 格式插件,安装便捷,只需在 shell 中依次执行如下命令即可:

vim someplugin.vba
:so %
:q
不论是直接拷贝插件到目录,还是通过 *.vba 安装,都不便于插件卸载、升级,后来又出现了管理插件的插件 vundle。

后面就正式开始了喽,文中前后内容顺序敏感,请依次查阅。

1 源码安装编辑器 vim

发行套件的软件源中预编译的 vim 要么不是最新版本,要么功能有阉割,有必要升级成全功能的最新版,当然,源码安装必须滴:

git clone git@github.com:vim/vim.git
cd vim/
./configure –with-features=huge –enable-pythoninterp –enable-rubyinterp –enable-luainterp –enable-perlinterp –with-python-config-dir=/usr/lib/python2.7/config/ –enable-gui=gtk2 –enable-cscope –prefix=/usr
make
make install
其中,–enable-pythoninterp、–enable-rubyinterp、–enable-perlinterp、–enable-luainterp 等分别表示支持 ruby、python、perl、lua 编写的插件,–enable-gui=gtk2 表示生成采用 GNOME2 风格的 gvim,–enable-cscope 支持 cscope,–with-python-config-dir=/usr/lib/python2.7/config/ 指定 python 路径(先自行安装 python 的头文件 python-devel),这几个特性非常重要,影响后面各类插件的使用。注意,你得预先安装相关依赖库的头文件,python-devel、python3-devel、ruby-devel、lua-devel、libX11-devel、gtk-devel、gtk2-devel、gtk3-devel、ncurses-devel,如果缺失,源码构建过程虽不会报错,但最终生成的 vim 很可能缺失某些功能。构建完成后在 vim 中执行

:echo has(‘python’)
若输出 1 则表示构建出的 vim 已支持 python,反之,0 则不支持。

2 插件管理

既然本文主旨在于讲解如何通过插件将 vim 打造成中意的 C/C++ IDE,那么高效管理插件是首要解决的问题。

vim 自身希望通过在 .vim/ 目录中预定义子目录管理所有插件(比如,子目录 doc/ 存放插件帮助文档、plugin/ 存放通用插件脚本),vim 的各插件打包文档中通常也包含上述两个(甚至更多)子目录,用户将插件打包文档中的对应子目录拷贝至 .vim/ 目录即可完成插件的安装。一般情况下这种方式没问题,但我等重度插件用户,.vim/ 将变得混乱不堪,至少存在如下几个问题:

插件名字冲突。所有插件的帮助文档都在 doc/ 子目录、插件脚本都在 plugin/ 子目录,同个名字空间下必然引发名字冲突;
插件卸载易误。你需要先知道 doc/ 和 plugin/ 子目录下哪些文件是属于该插件的,再逐一删除,容易多删/漏删。
我希望每个插件在 .vim/ 下都有各自独立子目录,这样需要升级、卸载插件时,直接找到对应插件目录变更即可;另外,我希望所有插件清单能在某个配置文件中集中罗列,通过某种机制实现批量自动安装/更新/升级所有插件。vundle(https://github.com/VundleVim/Vundle.vim )为此而生,它让管理插件变得更清晰、智能。

vundle 会接管 .vim/ 下的所有原生目录,所以先清空该目录,再通过如下命令安装 vundle:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
接下来在 .vimrc 增加相关配置信息:

” vundle 环境设置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
” vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间
call vundle#begin()
Plugin ‘VundleVim/Vundle.vim’
Plugin ‘altercation/vim-colors-solarized’
Plugin ‘tomasr/molokai’
Plugin ‘vim-scripts/phd’
Plugin ‘Lokaltog/vim-powerline’
Plugin ‘octol/vim-cpp-enhanced-highlight’
Plugin ‘nathanaelkane/vim-indent-guides’
Plugin ‘derekwyatt/vim-fswitch’
Plugin ‘kshenoy/vim-signature’
Plugin ‘vim-scripts/BOOKMARKS—Mark-and-Highlight-Full-Lines’
Plugin ‘majutsushi/tagbar’
Plugin ‘vim-scripts/indexer.tar.gz’
Plugin ‘vim-scripts/DfrankUtil’
Plugin ‘vim-scripts/vimprj’
Plugin ‘dyng/ctrlsf.vim’
Plugin ‘terryma/vim-multiple-cursors’
Plugin ‘scrooloose/nerdcommenter’
Plugin ‘vim-scripts/DrawIt’
Plugin ‘SirVer/ultisnips’
Plugin ‘Valloric/YouCompleteMe’
Plugin ‘derekwyatt/vim-protodef’
Plugin ‘scrooloose/nerdtree’
Plugin ‘fholgado/minibufexpl.vim’
Plugin ‘gcmt/wildfire.vim’
Plugin ‘sjl/gundo.vim’
Plugin ‘Lokaltog/vim-easymotion’
Plugin ‘suan/vim-instant-markdown’
Plugin ‘lilydjwg/fcitx.vim’
” 插件列表结束
call vundle#end()
filetype plugin indent on
其中,每项

Plugin ‘dyng/ctrlsf.vim’
对应一个插件(这与 go 语言管理不同代码库的机制类似),后续若有新增插件,只需追加至该列表中即可。vundle 支持源码托管在 https://github.com/ 的插件,同时 vim 官网 http://www.vim.org/ 上的所有插件均在 https://github.com/vim-scripts/ 有镜像,所以,基本上主流插件都可以纳入 vundle 管理。具体而言,仍以 ctrlsf.vim 为例,它在 .vimrc 中配置信息为 dyng/ctrlsf.vim,vundle 很容易构造出其真实下载地址 https://github.com/dyng/ctrlsf.vim.git ,然后借助 git 工具进行下载及安装。

此后,需要安装插件,先找到其在 github.com 的地址,再将配置信息其加入 .vimrc 中的call vundle#begin() 和 call vundle#end() 之间,最后进入 vim 执行

:PluginInstall
便可通知 vundle 自动安装该插件及其帮助文档。比如,我在 .vimrc 中添加了 4 个插件:

Plugin ‘VundleVim/Vundle.vim’
Plugin ‘altercation/vim-colors-solarized’
Plugin ‘Lokaltog/vim-powerline’
Plugin ‘octol/vim-cpp-enhanced-highlight’
当前,.vim/ 为空,当我在 vim 中执行 :PluginInstall 时,整个自动安装过程便开始了:

(vundle 批量安装插件)
要卸载插件,先在 .vimrc 中注释或者删除对应插件配置信息,然后在 vim 中执行

:PluginClean
即可删除对应插件。插件更新频率较高,差不多每隔一个月你应该看看哪些插件有推出新版本,批量更新,只需执行

:PluginUpdate
即可。

你得注意插件的下载源。同名插件在 github.com 上可能有多个,比如,indexer 插件,至少就有 https://github.com/vim-scripts/indexer.tar.gz 、https://github.com/everzet/vim-indexer 、https://github.com/shemerey/vim-indexer 等三个,到底应该选哪个呢?以我的经验来看,对于钟意的插件,我会先找其作者的个人网站,上面通常会罗列出托管在 github.com 的具体地址;若没有,我会找该插件在 vim.org 的页面,上面也会有 github.com 托管地址;若还是没有,再以 github 和插件名作为关键字搜索,点赞数多的,通常是你想找的。为节约你找插件地址的时间,本文中出现的每个插件我都会附上其地址。非特殊情况,后文介绍到的插件不再累述如何安装。

通过 vundle 管理插件后,切勿通过发行套件自带的软件管理工具安装任何插件,不然 .vim/ 又要混乱了

【Vim】使用Vundle管理配置Vim基本插件 Vundle项目托管在github上https://github.com/gmarik/vundle。 其特色在于使用git来管理插件,更新方便,支持搜索,一键更新,从此只需要一个vimrc走天下。在vimrc文件中添加如下内容来启用vundle管理vim插件的功能:set rtp+=$VIM/vimfiles/bundle/vundle/ call vundle#rc('$VIM/vimfi 阅读详情

相关推荐

Vim插件管理与集成教程

Vim插件是扩展Vim功能的一段代码,它可以是一个简单的功能函数,也可以是一个复杂的插件系统,用来实现如代码高亮、代码自动补全、版本控制集成等高级功能。与IDE插件不同,Vim插件通常小巧高效,对性能影响微乎其微。在深入了解.vimrc或.init.vim配置文件之前,了解其基础结构是必要的。Vim的配置文件是用户定制编辑器行为和界面的主要途径,它允许用户保存自定义设置,使得每次启动Vim时都能自动应用这些设置。.vimrc是传统的Vim配置文件,而.init.vim。

weixin_42124497的博客 1089

vim配置及常用插件安装

前言作为一个程序员,一个常用的工具就是编辑器,常用的编辑器有Sublime Text、Emacs、Vim、Source Insight、Atom、TextMate. 引用知乎大佬刘尚奇的言论 中国范围,08年以前Vim和Emacs认知度较低,两基友相爱相杀,流行度不相上下;此后Vim一跃领先,在11年后以压倒性优势成为最流行的editor;Emacs份额也稳中有升,并在12年后迎来更广

孙堂吉de博客 5113

MyVi:该项目实现了一个基于 ncurses 的类似于 vivim 终端编辑器,名为 Myvi。 论文从Myvi项目可行性研究背景、项目实施、核心代码分析、成果展示等方面展开。 项目在Linux操作系统下实现,实现语言为C,代码用Vim编辑,GCC编译,GDB调试,使用ncurses图形库。 Myvi和vim基本功能类似,分为三种模式

MyVi 该项目实现了一个基于ncurses 的类似于vi/vim 的终端编辑器,名为Myvi。 论文从Myvi项目可行性研究背景、项目实施、核心代码分析、成果展示等方面展开。 项目在Linux操作系统下实现,实现语言为C,代码用Vim编辑,GCC编译,GDB调试,使用ncurses图形库。 Myvi和vim的基本功能类似,分为三种模式:插入模式、命令模式、保存模式。 它具有VI/Vim的基本特性——所有命令完全摒弃鼠标,用户的手无需离开键盘,从而节省输入时间。 相比Vi/Vim Myvi没有实现强大的命令集,只实现了二十、三十个基本命令,这些命令完全可以满足一般用户对文本的操作,更何况是不需要学习庞大的命令集。

Vim【常用插件】安装 & 使用方法:一步一步配置VIM开发环境

1、ctags 功能:代码追踪 安装方法 sudo apt-get install ctags //Ubuntu安装ctags whatis ctags //查看是否安装成功 使用方法 1、在代码根目录下执行命令:【ctags -R】用于生成代码索引关系 2、生成完成之后便可以使用快捷键来进行追踪与跳出追踪操作了 命令 含义 ctrl+] 追踪...

Ace's Blog 8371

ctrlsf.vim:ack.vim替代方案模仿Sublime Text 2上的Ctrl-Shift-F

ctrlsf.vim ack / ag / pt / rg驱动的代码搜索和查看工具,利用Vim 8的强大功能来支持异步搜索,并允许您使用Edit Mode就地编辑文件。 搜索和探索 演示演示了如何以异步方式搜索单词。 编辑模式 一个演示演示了如何使用在多个文件MoveCursor()名为MoveCursor()的方法重命名为Cursor() 。 目录 产品特点 搜索并显示结果,并具有可调整上下文的用户友好视图。 以异步(对于Vim 8.0.1039+和NeoVim )和同步(对于Vim的旧版本)两种方式工作。 编辑模式在进行项目范围的重构时非常有用。 (受启发) 预览模式可快速浏览。

稀疏阵列选型指南:互质阵、嵌套阵、MRA,谁才是你项目里的‘性价比之王’?

本文深入探讨了稀疏阵列技术中的互质阵、嵌套阵和MRA三大架构的工程化选型策略,重点分析了它们在DOA估计、自由度、旁瓣抑制和计算复杂度等核心指标上的表现。通过实际案例和配置示例,为智能天线、声学定位和毫米波雷达等应用场景提供技术选型指南,帮助研发团队在硬件成本与性能之间找到最佳平衡点。

weixin_42525005的博客 488

CentOS下使用VIM打造C/C++开发环境

CentOS下使用VIM打造C/C++开发环境       为了更好的使用VIM编写C/C++程序。想打造一个类似VS的IDE环境。 ctags:生成tag文件,这个是其他工具的基础。 taglist:需要先装ctags,高效地浏览源码, 其功能就像vc中的workpace, 那里面列出了当前文件中的所有宏,全局变量, 函数名等. omnicppcomplete:需

Cloud-Datacenter-Renewable Energy-Big Data-Model 1338

大模型-高通qnn基础

提供较低级别、高度可定制的统一API,通过单独的库加速所有AI加速器核心上的AI模型, 可以直接用于针对特定的加速器核心或从流行的运行时(包括Qualcomm Neural Processing SDK、TensorFlow Lite和ONNX运行时)委派工作负载。一个支持异构计算、系统级配置的一体化SDK,旨在将AI工作负载引导到我们平台上的所有加速器核心。为开发人员提供灵活性,包括核心间协作支持和其他高级功能。是一个为训练好的神经网络模型提供高级量化和压缩技术的库。

点滴的岁月 4082

我的vim插件配制

我的vim配置..不定时更新安装vim安装YCMUbuntu 14.04及以上安装YCMCentOS安装YCM 安装vim 直接apt-get或yum install,若最新版可能需自行编译,不用卸载旧版也可 1.通过git下载vim最新版 git clone https://github.com/vim/vim.git 2. 解决vim的依赖问题 sudo yum install -y ncur...

Luckywei1412的博客 557

基于立创EDA的8口全千兆POE交换机设计详解:RTL8370N芯片与90W大功率供电方案

本文详细解析了基于立创EDA设计的8口全千兆POE交换机方案,核心采用RTL8370N交换芯片与支持90W大功率供电的IEEE 802.3bt标准PD芯片。文章深入探讨了PSE/PD供电管理、电源架构设计、电路细节及关键散热方案,为DIY或学习POE交换机硬件设计提供了完整的开源实践指南。

weixin_29050829的博客 1万+

利用Matlab绘制非线性系统相图:从理论到实践

本文详细介绍了如何利用Matlab进行非线性系统的相图绘制与相平面分析。从理论基础的状态空间转换出发,通过无阻尼线性谐振子和范德波尔振荡器等实例,手把手演示了使用ode45求解器绘制相图、分析平衡点与极限环的完整流程,并分享了方向场绘制、参数分岔探索及常见错误解决方案等高级技巧,为动力学系统分析与控制设计提供了直观强大的可视化工具。

yhn456789的博客 905

Vim插件管理插件Vim-plug

Vim/Neovim插件管理Vim-plug Vim是一款古老但不过时,强大但让人望而却步的编译器 Vim是上世纪的编译器,但是随着时代的发展,Vim现在依然受广大程序员的喜爱 Vim现在依旧受广大程序员喜爱的原因之一就是他又非常多、非常强大的插件,但是Vim的插件需要插件来安装。没错,就是用Vim插件来安装Vim插件,今天主要给大家介绍一个管理Vim插件的插件Vim-plug 虽然现在Vim和Neovim都开始自带插件管理功能,但一个插件管理器会让你安装以及升级vim插件的过程变得更加方便快捷。 安装vi

victory_gx的博客 2936

Ansys Fluent DPM模型实战:旋风分离器颗粒轨迹仿真全流程解析(附案例文件)

本文详细解析了使用Ansys Fluent中的离散相模型进行旋风分离器颗粒轨迹仿真的全流程。从几何简化、网格策略到物理模型界定,重点阐述了DPM模型的关键设置步骤,包括单向耦合假设、颗粒注入与受力配置,并提供了结果分析与优化方法,帮助工程师精准模拟气固分离过程,提升设计效率。

sunny的博客 700

vim插件管理

1、vundle 功能:管理插件的插件 链接:https://blog.youkuaiyun.com/zzyczzyc/article/details/83244516 set nocompatible " be iMproved, required filetype off " required set rtp+=~/.vim/bundle/V...

程序员菜鸟 1099

【C++】开源:ncurses终端TUI文本界面库

ncurses配置使用(TUI)

DevFrank的博客 3164

《QGIS快速入门与应用基础》293:色带调整与透明设置

详细讲解了QGIS中遥感影像色带调整与透明设置的核心技术,帮助用户将遥感成果从基础合成提升到专业出图标准。主要内容包括: 色带精细化调整: 多波段真/假彩色合成的优化技巧(Gamma校正、色彩平衡、色阶端点校准) 单波段栅格数据的伪彩色规范设置(行业标准色带选择与分类方法) 透明设置: 研究区黑边/白边的消除方法 多图层叠加时的透明融合技巧 特定地物的差异化半透明显示 实用建议: 提供行业标准参数模板和效果对比图 标注新手操作红线和常见问题排查 强调符合遥感行业规范的可视化要求。

LuckyHanMo的博客 354

Vim插件&插件管理

Vim 插件 选择插件管理工具 vim 缺乏默认的插件管理器,所有插件的文件都散布在 ~/.vim 下的几个文件夹中,插件的安装与更新与删除都需要手动操作,容易出错,通常会选择第三方的插件管理,来统一管理 vim 插件 plugin [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g9ki0gwx-1615463011337)(https://s3.ax1x.com/2020/11/14/DCYEdI.gif)] vundle 这里推荐选用的是 Plugin,Vundl

LeftShadow 2175

基于Simulink的单级式光伏并网系统MPPT控制仿真

本文基于Simulink平台,详细介绍了单级式光伏并网系统的MPPT控制仿真实现。主要内容包括:1)阐述MPPT作为光伏系统"智能大脑"的核心作用;2)解析单级式系统架构及扰动观察法(P&O)算法原理;3)以10kW户用系统为例,分步骤演示建模过程,包括光伏阵列搭建、P&O控制器实现(含MATLAB代码)、并网控制设计等;4)通过仿真验证系统在光照突变下的动态响应性能,MPPT效率达98.3%。文章还提出了变步长P&O等优化方向,为光伏系统仿真与控制提供实用指导。

xiaoheshang_123的博客 111

Vim插件管理器Vundle.vim:终极插件管理指南

Vundle.vim是一款专为Vim打造的插件管理器,它能够帮助用户轻松管理Vim插件,包括安装、更新、搜索和清理等操作。通过Vundle.vim,用户可以将插件配置直接写在.vimrc文件中,实现插件的自动化管理,让Vim的使用更加高效和便捷。 ## 为什么选择Vundle.vim? Vundle.vim作为一款优秀的Vim插件管理器,具有以下显著优势: - **便捷的插件管理**:能够集

gitblog_00390的博客 907

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

VIM插件管理

VIM插件管理 还在抱怨vim没有好用的IDE吗?本文介绍一款vim插件管理利器Vundle,以及常用的vim插件。 vim插件管理器Vundle 常用的vim插件 一、vim插件管理器Vundle Vundle是基于Git仓库的插件管理软件。Vundle将插件的安装简化为类似yum软件安装的过程 只要:PluginInstall插件就安装完了,:PluginClean之后插...

山野村夫pro的专栏 982

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Vim Awesome:高效管理你的Vim插件

[Vim Awesome](https://github.com/vim-awesome/vim-awesome.git) 是一个致力于收录并分类Vim相关的优秀插件和资源的平台。它不仅是一个仓库,更是一个社区,帮助Vim爱好者发现新插件,分享使用经验,并提升Vim编辑器的工作效率。通过简洁的界面和强大的搜索功能,Vim Awesome使得探索和管理Vim插件变得前所未有的便捷。 ## 项目快速...

gitblog_00240的博客 1088

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

vim插件管理器vim-plug替代vim-bundle

vim-plug 和 vim-bundle 都是 Vim 的插件管理器,但它们有一些关键的区别。使用方法与bundle/vundle有点类似,左边是vim-bundle,右边是vim-plug,比如要安装vim-sensible插件,则把以下内容写到vimrc文件中。如果有bundle了,可以直接复用它管理的插件,不同系统写法不一样。vim重新打开,然后执行:PlugInstall开始安装插件。:PlugClean 卸载不在Plug指定的列表的插件。:PlugUpdate安装或更新插件。

zmlovelx(帅得不敢出门 程序员群31843264) 1334

vim 插件管理_如何管理Vim插件?

vim 插件管理The Vim plugin directory under ~/.vim seems messy—a plugin has different files in different directories and the files from different plugins are put together. This is hard to add/remove plugin...

cuma2369的博客 617

Bundle管理vim插件

bundle管理vim插件

jinyingqi22的博客 719
上一篇: laravel No supported encrypter found. The cipher and / or key length are invalid.
下一篇: php 百度翻译接口 脚本执行
merlin.feng
博客等级 码龄12年 8粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值