Vim 插件管理-Prerequisite

文章介绍了Vim插件的基本概念,包括Scripts、Plugins和Packages的区别,以及Vim和Neovim在配置文件和目录结构上的差异。Vim8引入的包(Package)特性简化了插件管理,而内置文档系统支持浏览和跳转。文章还提供了一个简单的插件示例和如何加载自定义插件的步骤。
摘要由CSDN通过智能技术生成

Vim 插件管理-Prerequisite

何为插件?

插件(这里是指广义上的)用于扩充Vim的功能, 像代码提示、主题、语法、缩进, etc.
Vim 8提供了包的特性, 方便了插件的管理.

Scripts, Plugins and Packages

  • Packages(包)是Plugins(插件)的集合, 一个包可含一个或多个插件.
  • Plugins是Scripts(脚本)的集合, 一个插件可含一个或多个脚本.
  • Script 是一个用VimScript写成的文本文件.

Vim和Neovim的一些区别

  • Vim: $HOME/.vimrc是全局配置文件, $HOME/.vim/是全局配置目录.
  • Neovim: $HOME/.config/nvim/init.nvim是全局配置文件, 全局配置目录也在
    $HOME/.config/nvim/下.

这些区别都只是默认配置上的.

只要修改runtimepath变量, 就可修改Vim启动时查找的路径. 这类似命令行中的$PATH.

插件实例

将以下内容保存到$HOME/.vimrc(Vim)或$HOME/.config/nvim/init.vim(Neovim), 重启Vim或在Vim中执行:source $MYVIMRC.

" This is comment
" This is the definition of a function
function! SayHello()
  echo 'Hello, world!'
endfunction

" This is the definition of a command
command! Hello call SayHello()

" Map Q to :Hello<cr> in normal mode
nnoremap Q :Hello<CR>

在Vim中执行:Hello命令即可看到效果. 这就是一个毫无用处的插件,但它确实是个插件.
我们用的语言就是VimScript.

假设某个插件demo-plugin的目录结构是这样的:

demo-plugin
|--- doc
|     |--- demo.txt
|--- plugin
      |--- demo.vim

doc目录是文档, plugin目录是插件.

在Vim中输入:set runtimepath+=~/demo-plugin(假设该插件在~/demo-plugin)下,
对应的插件即可被加载.

Vim 8的新特性-包

“A package is a directory that contains one or more plugins.”

Vim的包在~/.vim/pack/下, Neovim的包在~/.config/nvim/pack/下.
Vim在启动时会自动加载~/.vim/pack/*/start/目录下的插件,
所以安装插件就意味着将插件放到该目录下.

Vim内置文档的浏览

Vim的内置文档包括两部分:

  • 内置的用户手册和参考文档
  • 用户安装的插件的文档

Vim的内置文档使用纯文本编写且包含两类标记:

  • anchors(锚点)
  • hyperlinks(超链接)

这类似网页中页面间的跳转. Vim中通过超链接跳转至对应的锚点.

如何跳转?

  • 将光标置于对应的超链接处并按下Ctrl-]可跳转至相应锚点.
  • 按下Ctrl-o可回退至之前浏览的位置, 这个o就是orignal.

在Vim中进入文档浏览可通过:help命令加上对应的关键字, 可用Tab补全.

Reference

Modern Vim: Cract Your Development Environment with Vim 8 and NeoVim, Chapter 2.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值