【笔记】Vim-plug 插件管理器离线安装插件

由于和 Github 有墙的原因,使用 Vim 插件的体验一直不好。这是由于 Vim 插件默认指定从 Github 克隆插件到本地,导致每次执行实际的插件安装或者更新过程都要访问 Github,导致速度一直很慢。如果不考虑更新插件的话我们完全可以将插件下载下来执行本地安装。

首先我们需要安装 Vim-Plug ,这是 Vim 的插件管理器,除了 Vim-Plug 以外还有 Vundle,NeoBundle 等其他 Vim 插件管理器,选择 Vim-Plug 的原因是它足够小巧,简单。首先我们需要下载 plug.vim 这个文件。

这个文件就是 Vim-Plug 插件管理器的全部了,我们需要将这个文件移动到 Vim 的指定目录下:

系统+Vim 类型 plug.vim 路径
Win+Vim %HOMEPATH%/vimfiles/autoload/plug.vim
Win+NeoVim %HOMEPATH%/Local/AppData/nvim-data/site/autoload/plug.vim
Linux+Vim $HOME/.vim/autoload/plug.vim
Linux+NeoVim $HOME/.local/share/nvim/site/autoload/plug.vim

这里的 HOMEPATH 其实就是你的用户目录,cmd 中的 cd %HOMEPATH% 其实就相当于 Linux 中的 cd ~ 或者 cd $HOME

到这里 Vim-Plug 就算安装完成了,接下来我们需要进行相关的插件安装和配置了。需要在 Vim 的配置文件中添加相关配置信息:

系统+Vim 类型 vim 配置文件路径
Win+Vim %HOMEPATH%/.vimrc
Win+NeoVim %HOMEPATH%/Local/AppData/nvim/init.vim
Linux+Vim $HOME/.vimrc
Linux+NeoVim $HOME/.config/nvim/init.vim
sh 复制代码
" Neovim 中配置
call plug#begin()
"	Plug stdpath('data') . '/plugged/nerdtree'
call plug#end()

Vim-Plug 在正常情况下,我们需要在 begin 和 end 之间指定我们要安装的插件,如当我们想要安装 vim-startify这个插件时,就需要这样配置:

sh 复制代码
call plug#begin()
Plug 'mhinz/vim-startify'
call plug#end()

在配置完成后就进入 Vim 执行 :PlugInstall 命令,Vim-Plug 就会自动从 Github 仓库克隆这个仓库到插件目录$HOME/.vim/plugged/vim-startify中。这里为了实现离线安装,就需要我们先手动下载 Github 的代码到本地。然后将代码解压后移动到指定目录即可,这里的目录我们可以自己指定,比如用户目录下 .vim/plugged/vim-startify 中,然后回到配置文件中添加配置:

sh 复制代码
call plug#begin()
Plug "$HOME/.vim/plugged/vim-startify"
call plug#end()

注意这里的配置,变成了本地路径,这样的话 Vim-Plug 就会直接从本地目录加载插件了,而不需要通过 PlugInstall 执行安装操作。$HOME/.vim/plugged/ 这个路径是 Vim 下 Vim-Plug 的默认插件路径:其他环境下的默认路径如下:

系统+Vim 类型 vim 配置文件路径
Win+Vim %HOMEPATH%/vimfiles/plugged
Win/Linux+NeoVim stdpath('data') . '/plugged'
Linux+Vim $HOME/.vim/plugged

这里的 stdpath('data') 是 Neovim 中的函数,实际路径为 %HOMEPATH%/Local/AppData/nvim-data ,可以在NeoVim 命令模式下执行 :echo stdpath('data')查看具体实际的路径。除此之外,还有 stdpth('config') 为实际配置文件的目录。

Vim 插件推荐:

vim-airline

Airline 是一款 Vim 状态栏增强插件,它可以为 Vim 提供一个美观、功能丰富的状态栏。Airline 的主要特点包括:

美化状态栏: Airline 提供了许多漂亮的主题,可以大幅改善 Vim 默认状态栏的外观。

丰富信息展示: Airline 可以在状态栏上显示各种有用信息,如当前工作目录、Buffer 状态、Git 分支等。

灵活的配置: Airline 提供了大量的配置项,用户可以自定义状态栏的内容和样式。

与其他插件集成: Airline 可以与 Vim 的其他插件无缝集成,如 git、syntastic 等。

高性能: Airline 采用高效的渲染方式,不会对 Vim 性能造成影响。

使用 Airline 可以大大提升 Vim 的视觉体验和信息展示能力。状态栏上清晰的信息可以帮助用户更好地掌握当前的工作环境。同时,美化后的状态栏也为 Vim 添加了一份专业和个性化的风格。

vim-startify

vim-startify 是一款为 Vim 提供漂亮启动页面的插件。它可以在 Vim 启动时显示一个自定义的起始页面,并提供以下主要功能:

美化启动界面: vim-startify 可以在 Vim 启动时显示一个优雅的欢迎界面,替代默认的空白界面。

快速访问文件: 用户可以在启动页面快速打开最近使用的文件、会话、书签等。

自定义配置: vim-startify 提供了丰富的配置项,用户可以自定义启动页面的外观和内容。

会话管理: vim-startify 支持保存和加载 Vim 会话,方便用户恢复之前的工作环境。

扩展功能: vim-startify 可以与其他 Vim 插件如 NERDTree 集成,提供更强大的功能。

使用 vim-startify 可以让 Vim 的启动体验更加美观和高效。当 Vim 启动时,用户可以快速访问最近的文件或会话,大大提高工作效率。同时,自定义的启动页面也为 Vim 增添了一份独特的个性。

nerdtree

NERDTree 是一款文件系统浏览器插件,它可以在 Vim 中提供一个直观的目录树视图,帮助用户快速浏览和操作文件系统。它的主要特点包括:

直观的目录树: NERDTree 在 Vim 中显示一个可折叠的目录树,让用户能清晰地浏览文件结构。

丰富的功能: 支持打开文件、创建/删除文件或目录、复制/粘贴等常见的文件操作。

高度定制化: 用户可以自定义快捷键、图标、颜色等各种外观和行为设置。

与其他插件集成: NERDTree 可以与 Vim 的其他插件如 Tagbar、GitGutter 等无缝集成。

跨平台支持: NERDTree 可以在 Windows、macOS 和 Linux 等多个平台上使用。

使用 NERDTree 可以极大地提高 Vim 用户在文件系统中的工作效率。只需简单的键盘操作,就能快速定位并打开所需的文件。它是 Vim 中非常优秀的文件管理工具。

LeaderF

LeaderF 是一款功能强大的 Vim 模糊搜索插件,它可以在各种上下文中帮助快速定位和打开文件、缓冲区、函数等。它的主要特点有:

超快的搜索速度: LeaderF 采用高效的模糊搜索算法,即使在大型项目中也能秒级响应。

灵活的搜索模式: 支持模糊搜索、精确搜索、正则表达式搜索等多种模式,可以高度定制化。

多种上下文搜索: 支持搜索文件、缓冲区、函数、tags、历史记录等丰富的搜索对象。

细致的结果预览: 搜索结果会在侧边栏预览,并可以预览文件内容。

方便的操作交互: 提供直观的键盘操作,如模糊搜索、打开文件、编辑等。

使用 LeaderF 可以大大提升 Vim 用户的工作效率。只需按下 Leader 键加上特定快捷键,就能快速定位并打开所需的文件或函数。它是 Vim 中不可或缺的搜索利器。

相关推荐
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
Rinai_R5 小时前
计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器
笔记·物联网·学习
吃着火锅x唱着歌5 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
ragnwang5 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
胡西风_foxww5 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
胡西风_foxww9 小时前
【es6复习笔记】函数参数的默认值(6)
javascript·笔记·es6·参数·函数·默认值
胡西风_foxww9 小时前
【es6复习笔记】生成器(11)
javascript·笔记·es6·实例·生成器·函数·gen
waterme1onY9 小时前
Spring AOP 中记录日志
java·开发语言·笔记·后端
2401_879103689 小时前
24.12.25 AOP
java·开发语言·笔记
索然无味io10 小时前
跨站请求伪造之基本介绍
前端·笔记·学习·web安全·网络安全·php