vim-plug的自动安装与基本使用介绍

ops/2025/2/7 16:27:46/

vim-plug介绍

Vim-plug 是一个轻量级的 Vim 插件管理器,它允许你轻松地管理 Vim 插件的安装、更新和卸载。相较于其他插件管理器,vim-plug 的优点是简单易用,速度较快,而且支持懒加载插件(即按需加载)

自动安装vim-plug

将下文代码块添加到~/.vimrc中,保存之后再次使用vim。便会自动安装vim-plug

(私最为推荐这种方法,设备迁移的时候只用将.vimrc复制一份便会自动下载vim-plug,提高效率)

" Automatically install vim-plug
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs  https://raw.gitmirror.com/junegunn/vim-plug/master/plug.vim'autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif

办法来自官方文档 tips · junegunn/vim-plug Wiki 。

笔者已将原有国际源替换为镜像源。

vim-plug安装插件

1.编辑 ~/.vimrc 配置文件

call plug#begin()" 插件列表
Plug 'dense-analysis/ale'
Plug 'ervandew/supertab'
Plug 'preservim/nerdtree'
Plug 'morhetz/gruvbox'
Plug 'tbastos/vim-lua'  " 增强 Lua 语法高亮call plug#end()

注意将这段代码放置在前文自动安装的代码块之后。一般而言如果vim的一个插件支持vim-plug都会在README中提示这块的写法。例如主题插件 gruvbox

2.安装插件

保存并退出 .vimrc 文件后,再次使用Vim打开任意一个文件。执行命令

:PlugInstall

这一步会下载所有前文 .vimrc 中的插件

正在安装中…(前四个插件已经安装好)

连接失败…是常有的事

此处有方法是更改 ~/.vim/autoload/plug.vim

VIM-Plug安装插件时,频繁更新失败,或报端口443被拒绝等

但是笔者没有尝试成功……只能脸黑硬等(建议间隔一段时间多次尝试)

建议此刻去泡杯咖啡……

成功结算界面

其他常用指令

更新插件

:PlugUpdate

删除.vimrc 中已删除的插件

:PlugClean

查看插件状态:

:PlugStatus


 

.vim 文件夹

.vim 文件夹是 Vim 编辑器的配置文件夹,通常位于用户的家目录下。这个文件夹包含了 Vim 的配置文件、插件、颜色方案等。

下面是 .vim 文件夹的基本结构:

  • .vimrc:这是 Vim 的主要配置文件,用于设置 Vim 的行为和外观。可以包含各种设置、映射和自定义命令。
  • autoload:用于存放自动加载的脚本,通常用于插件。
  • bundle 或 plugins:用于存放 Vim 插件。可以使用插件管理器(如 Vundle、Pathogen 等)来管理这些插件。
  • colors:用于存放颜色方案文件,这些文件定义了 Vim 的颜色主题。
  • doc:用于存放文档文件,通常是插件的文档。
  • syntax:用于存放语法高亮文件,这些文件定义了不同编程语言的语法高亮规则。
     


 


http://www.ppmy.cn/ops/156479.html

相关文章

Day48_20250130【回校继续打卡】_单调栈part1_739.每日温度|496.下一个更大元素I|503.下一个更大元素II

Day48_20250130_单调栈part1_739.每日温度|496.下一个更大元素I|503.下一个更大元素II 20250130补完 739.每日温度 题目 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天&#xff0…

Java设计模式---策略模式

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法(或策略),并将每个算法封装起来,使得它们可以互相替换。策略模式允许算法的变化独立于使用算法的客户(即客户端代…

【ThreeJS 01】了解 WebGL 以及 ThreeJS

文章目录 01 介绍02 什么是 WebGL,为什么用 ThreeJS什么是 WebGL?Three.js 来帮忙 01 介绍 这个课程的主讲人是 Bruno Simon, 这是他的作品集 他还做了一些有趣的项目: https://my-room-in-3d.vercel.app https://organic-sphe…

npm 和 pip 安装中常见问题总结

安装路径的疑惑:NPM 和 PIP 的安装机制 NPM 安装路径规则: 依赖安装在项目目录下: 当你运行 npm install --save-dev jest,它会在当前目录(例如 F:\)下创建一个 node_modules 文件夹,把 jest 安…

frida 通过 loadLibrary0 跟踪 System.loadLibrary

static {System.loadLibrary("libxxx.so"); }在 ndk 开发中,常见的实践是在 static 代码块里调用 loadLibrary 加载动态库。由于 apk 从 java 层开始启动,过早地 hook 原生代码会找不到函数。所以一种常见做法是在 loadLibrary 的 hook 回调里…

如何使用sqlalchemy的orm模式构建表结构1对1,1对多,多对多的关系

在 SQLAlchemy 的 ORM 模式中,可以通过定义类和关系来构建表结构,实现一对一、一对多和多对多的关系。以下是具体的实现方式: 1. 一对一关系(One-to-One) 一对一关系是指一个记录与另一个记录之间存在唯一对应关系。…

I.MX6ULL 中断介绍下

GIC重点寄存器 1.中断分发器寄存器(Distributor register ) a.Distributor Control Register(中断分发控制寄存器), GICD_CTLR Purpose Enables the forwarding of pending interrupts from the Distributor to the CPU interfaces 使能将挂起的中断从…

C++Primer 赋值运算符

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…