Vim的插件管理器之Vundle
1、安装Vundle插件管理器
Vim可以安装插件,但是需要手动安装比较麻烦,Vim本身没有提供插件管理器,所以会有很多的第三方的插件管理器,有一个vim的插件叫做 “vim-easymotion”,在它的github的安装说明里有列出对于不同的插件管理器vim-easymotion的不同安装方式,它列出的插件管理器有:
- Pathogen
- Vundle
- NeoBundle
- Vim-Plug
- Vim8 Native Plugin Manager
这里我们就使用比较常用的Vundle插件管理器,在它的github上有安装说明,可以点击Vundle链接查看Github上的安装说明,然后这里我使用我们熟悉的中文也记录一下安装说明(它可能会过时,最新的请看官方文档):
-
在Linux中下载Vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim -
配置插件
set nocompatible " 改进的,必须的 filetype off " 必须的" 设置运行时路径以包含 Vundle 并初始化 set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " 或者,传递 Vundle 应安装插件的路径 "call vundle#begin('~/some/path/here')" 插件命令必须放在 vundle#begin() 和 vundle#end() 之间。 " 让Vundle管理Vundle, 必须的 Plugin 'VundleVim/Vundle.vim'call vundle#end() " 必须的 filetype plugin indent on " 必须的 " 要忽略插件缩进更改,请改用: "filetype plugin on " " 简要帮助 " :PluginList - 列出已安装的所有插件 " :PluginInstall - 安装插件; 附加 `!` 来更新 或者使用 :PluginUpdate " :PluginSearch foo - 搜索foo; 附加 `!` 来刷新本地缓存 " :PluginClean - 删除未使用的插件; 附加 `!` 以自动批准删除 " " 请参阅 :h vundle 了解更多详细信息或 wiki 了解常见问题解答 " 将您的非插件内容放在此行之后这里的双引号用于注释说明,在底部提供了4个插件管理器的命令,分别用于插件列表(列出所有已安装插件)、插件安装、插件搜索、插件删除。另外还一个需要留意的信息:安装插件的命令必须写在
vundle#begin()和vundle#end()之间,可以看到这里有一个必须安装的插件是'VundleVim/Vundle.vim'。其实原来的代码中还有4个插件被我删除了,因为官方文档告诉我们说移除不需要的插件,这4个插件只是用来演示不同格式支持的示例而已,原示例翻译如下:" 插件在Github仓库,比如vim-fugitive插件的github主页为https://github.com/tpope/vim-fugitive, " 则我们要安装这个插件时只需要把https://github.com/后面的部分tpope/vim-fugitive复制过来使用即可,如下: Plugin 'tpope/vim-fugitive'" 插件来自 http://vim-scripts.org/vim/scripts.html " Plugin 'L9'" Git插件没有托管在GitHub上 Plugin 'git://git.wincent.com/command-t.git'" 在你本地机器的git仓库 (也就是说,当你在自己的插件上工作时) Plugin 'file:///home/gmarik/path/to/plugin'" Sparkup Vim 脚本位于此存储库的一个名为 vim 的子目录中。 " 传递路径以正确设置运行时路径。 Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}" 如果您已经在其他地方安装了不同的版本,请安装L9并避免命名冲突。 " Plugin 'ascenator/L9', {'name': 'newL9'}也就是说插件托管在不同的地方,它的设置就会有所不同。
把前面的整个文档复制到
~/.vimrc文件的开头位置以使用Vundle,如下:

然后保存文件并退出,然后再进入vim(注:如果直接使用:w保存,然后在当前界面执行:PluginInstall是不管用的,具体原因不详),执行:PluginInstall命令开始安装Vundle插件,效果如下:
如上图,在底部显示Done!,且没有提示错误,则Vundle插件安装成功!Plugin 'VundleVim/Vundle.vim'的前面显示了一个加号+表明Vundle.vim插件安装成功了。上图中有两个窗口,都是vim窗口,第一个是安装插件的窗口,第二个是我们启动安装命令时的vim窗口,因为我是使用vim命令打开的一个新窗口,并没有打开文件,所以该窗口中什么内容也没有。
2、使用Vundle插件管理器来安装其它插件
有了插件管理器,如需要安装其它的插件就很简单了,只需把要安装的插件的命令复制到vundle#begin() 和 vundle#end() 之间,然后再执行安装命令即可。比如我们要安装vim-easymotion插件,则再次打开~/.vimrc,并在vundle#begin() 和 vundle#end() 之间添加:
Plugin 'easymotion/vim-easymotion'
在vim-easymotion的github上面它会告诉我们使用Vundler管理器的话是复制这句安装命令的,所以不用记这个命令。
保存配置文件并退出,然后再进入vim,然后再执行安装命令,效果如下:

如上图,Vundle插件前面是一个点,说明此插件之前已经安装好了,在屏幕底部显示 “Processing 'easymotion/vim-easymotion'”表明了目前正在安装的插件,因为插件在github上,如果网络不好可能会安装失败,如下图:

如上图,状态栏显示 Done!表示安装的流程结束了,但是后面有 “with errors; press l to view log”,这表明安装过程中有错误,可以按下字母l来查看日志,从上面的easymotion前面有个!其实也能知道是easymotion插件没有安装成功,这种情况的话只能多试几次安装命令了。安装成功的效果图如下:

这里可以看到easymotion插件前面有个加号+,这说明该插件是刚刚安装成功的,而VundleVim前面有一个点.,这说明该插件是之前就安装好了的。
3、卸载插件
比如,我们要删除vim-easymotion插件,打开vim ~/.vimrc,然后找到下面的代码行并将其注释掉(因为可能以后还想装回来):
" Plugin 'easymotion/vim-easymotion'
保存配置文件并退出,然后再进入vim,然后再执行卸载插件的命令:PluginClean,效果如下:

如上图,它会列出要移除的插件列表,并在底部询问我们是否要继续,输入Y并按回车开始执行移除操作,移除完成之后在插件的前面会显示有一个减号-,表示该插件已经移除,效果如下:

在这个界面继续输入:PluginList可查看当前已经安装的插件列表,如下:

从这里也可以看到vim-easymotion插件确实不在了。
4、查看Vundle的帮助文档
可以在任意vim界面中输入如下命令查看帮助文档:
:h vundle
或者,在执行了Vundle的相关命令后,比如执行了:PluginList命令后它会在一个新的vim界面中列表所有已安装的插件,在这个界面中按h即可查看帮助文档。如下图:

相关文章:
Vim的插件管理器之Vundle
1、安装Vundle插件管理器 Vim可以安装插件,但是需要手动安装比较麻烦,Vim本身没有提供插件管理器,所以会有很多的第三方的插件管理器,有一个vim的插件叫做 “vim-easymotion”,在它的github的安装说明里有列出对于不同…...
机器学习丨1. 机器学习概述
Author:AXYZdong 硕士在读 工科男 有一点思考,有一点想法,有一点理性! 定个小小目标,努力成为习惯!在最美的年华遇见更好的自己! CSDNAXYZdong,CSDN首发,AXYZdong原创 唯…...
清除pip安装库时的缓存
目录 1、命令清除缓存 2、路径手动清除 在使用pip安装Python库时,如果之前已经下载过该库,pip会默认使用缓存来安装库,而不是重新从网络上下载。缓存文件通常存储在用户目录下的缓存文件夹中,具体位置因操作系统和Python版本而异…...
gitee上传一个本地项目到一个空仓库
gitee上传一个本地项目到一个空仓库 引入 比如,你现在本地下载了一个半成品的框架,现在想要把这个本地项目放到gitee的仓库上,这时就需要我们来做到把这个本地项目上传到gitee上了。 具体步骤 1. 登录码云 地址:https://gite…...
力扣:63. 不同路径 II(Python3)
题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从…...
【C语言】每日一题(多数元素)
多数元素,链接奉上 方法 1.摩尔投票2.合理但错误的方法2.1暴力循环2.2排序求出中间元素中间元素 1.摩尔投票 先来简单的介绍摩尔投票: 摩尔投票是一种用来解决绝对众数问题的算法。 什么是绝对众数呢? 在一个集合中,如果一个元素…...
后端 .net7 Minimal API 限流中间件(微信小程序无师自通十)
我的微信小程序使用.net7 Minimal API 作为后端,当服务器摆上公网后,可以观察到很多的攻击行为和暴力访问。所以,我需要使用微软的限流中间件部署相应的功能在服务器上 关键字: AddFixedWindowLimiter using Microsoft.AspNetCo…...
背上沉重的书包准备面试之react篇
目录 react特性? react生命周期? state和props区别 react中setState执行机制? 在react类组件形式中,setState第二个参数的作用? react事件机制? react事件绑定方式有哪些? react组件之间…...
OpenCV-Python中的图像处理-霍夫变换
OpenCV-Python中的图像处理-霍夫变换 霍夫变换霍夫直线变换霍夫圆环变换 霍夫变换 霍夫(Hough)变换在检测各种形状的技术中非常流行,如果要检测的形状可以用数学表达式描述,就可以是使用霍夫变换检测它。即使要检测的形状存在一点破坏或者扭曲也是可以使…...
W5500-EVB-PICO做UDP Client进行数据回环测试(八)
前言 上一章我们用开发板作为UDP Server进行数据回环测试,本章我们让我们的开发板作为UDP Client进行数据回环测试。 连接方式 使开发板和我们的电脑处于同一网段: 开发板通过交叉线直连主机开发板和主机都接在路由器LAN口 测试工具 网路调试工具&a…...
npm install 中 --save 和 --save-dev 是什么?
npm,全名 Node Package Manager,套件管理工具,package.json 会记下你在项目中安装的所有套件。 假设在项目中安装 lodash npm i --save lodash这样在 dependencies 中会出现: 如果修改了导入方式: npm i --save-dev …...
【Nginx17】Nginx学习:目录索引、字符集与浏览器判断模块
Nginx学习:目录索引、字符集与浏览器判断模块 今天要学习的内容有几个还是大家比较常见的,所以学习起来也不会特别费劲。对于目录的默认页设置大家都不会陌生,字符集的设置也比较常见,而浏览器的判断这一块,可能有同学…...
CA/TA开发编程实战-视频课程
Hello大家好,上架一门新的视频课程,课程主要包含两大部分,第一部分搭建环境,第二部分从无到有的编写代码。带领大家"手把手"编写。 具体大纲如下: qemu v8环境搭建 搭建一个qemu_v8的环境,用于…...
(7)(7.1) 使用航点和事件规划任务
文章目录 前言 7.1.1 设置Home位置 7.1.2 视频:制作并保存多路点任务 7.1.3 视频:加载已保存的多航点任务 7.1.4 使用说明 7.1.5 提示 7.1.6 自动网格 7.1.7 任务指令 7.1.8 任务结束 7.1.9 任务重置 7.1.10 MIS_OPTIONS 7.1.11 任务再出发 …...
OCR相关模块——版面分析技术、表格文本识别
OCR相关模块——版面分析技术、表格文本识别 版面分析技术表格识别技术 版面分析技术 版面分析模型:飞桨用到了yolov2检测模型,对文档图片中的文本、表格、图片、标题与列表区域进行检测。当前主流是用分割做。 表格识别技术 参考博文...
mov转mp4格式怎么转?
mov转mp4格式怎么转?众所周知,MOV视频格式是由苹果公司推出的常用的视频格式,能够在苹果软件及设备上使用。但是,如果将其应用于其他软件和设备上的话,可能会遇到文件无法正常播放的情况。在这个时候,我们需…...
SSL握手协议相关概念
下图为握手协议的流程图,具体的解释参考博客: 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS_tenfyguo的博客-CSDN博客 下面梳理一下SSL协议中的一些细节。首先是相关名词:证书、…...
idea 打开java项目后新建的模块中,java文件夹需要变成蓝色,以及resources文件夹变成三条杠的
idea 打开java项目后新建的模块中,java文件夹需要变成蓝色,以及resources文件夹变成三条杠的方法 再选择modules,找到需要变蓝的文件夹,点击sources即可 同理resources文件夹变成三条杠也只需要找到对应文件夹,点击re…...
【Docker】Docker network之bridge、host、none、container以及自定义网络的详细讲解
🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&…...
滑模控制器理论推导和matlab/simulink实例分享
滑模控制的运动轨迹主要分为两个方面:(1)系统的任意初始状态向滑模面运动阶段;(2)系统到达滑模面后并且慢慢趋于稳定的阶段。所以,对于滑模变结构控制器的设计,对应于系统运动的两个阶段,可以分为两个部分:…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...
Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
多模态大语言模型arxiv论文略读(112)
Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文标题:Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文作者:Jea…...
