前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何安装NeoVim和使用vim-plug安装相关插件?

如何安装NeoVim和使用vim-plug安装相关插件?

作者头像
PantaZheng
发布2018-09-14 09:50:16
14.3K1
发布2018-09-14 09:50:16

什么是NeoVim?

如果您是系统管理员或软件开发人员,那么你每天都需要使用的工具中一定有一种强健的文本编辑器。您很可能已经使用过vi或vim编辑器,它们已经在Unix和Linux社区中用了几十年了。

虽然vim仍然是处于活跃开发的状态,但它已经包含了大约30万行的C89编码代码。因为Bram Moolenaar是唯一维护其大型代码库的人了,所以现在的vim除了难以维护之外,其问题和新的代码合并取请求都无法很快解决。

由于这些难题和缺乏对如异步插件等所需功能的支持,这促使NeoVim成为vim的一个分支。该项目的主要目标是完全重构vim,以便简化维护,并且实现快速添加新特性并将bug修复添加到源代码中。

从NeoVim可以期待什么?

在NeoVim分支后的短时间中,其已经实现了两个突出的特性:异步插件和用于编程实现控制NeoVim的远程调用(RPC)API。

异步插件可以在不干扰主编辑器进程的条件下就实现插件后台运行。

RPC API允许GUI图形界面程序(以及使用msgpack-rpc消息传递协议的其他软件)连接到正在运行的NeoVim实例。这意味着您可以将Atom、Visual Studio Code和Sublime Text这样众所周知的文本编辑器与NeoVim集成,并在它们之间进行双向同步修改。以这种方式,您就可以在使用nvim进行远程调用来利用GUI程序的所有特性。

本文将详细说明NeoVim的安装和配置,同时说明两个异步插件nvim-completion-managerfar.vim

准备工作

  1. 熟悉我们的入门指南并完成Linode主机名和时区的设置步骤。
  2. 本文将尽可能使用sudo来实现命令。完成“ 保护您的服务器 ”部分以创建标准用户帐户。
  3. 安装必要的工具: - 在CentOS和类似的发行版中,启用Extra Packages(EPEL)第三方源存储库,然后安装相关依赖包: sudo yum install epel-release -y sudo yum install wget fuse fuse-libs git ack python34-pip -y - 在Debian,Ubuntu及其衍生版本中: sudo apt-get install fuse libfuse2 git python3-pip ack-grep -y

在本教程中,我们通过下载appimage来安装NeoVim,这是一个包含应用程序及其依赖项的二进制文件(没有包含FUSE库文件,它们仍需要单独安装)。此方法与Linux版本无关并且其可以提供最新版本的软件包。

请注意,NeoVim appimage目前仅适用于64位系统。如果您使用的是其他架构系统,或者想要查看NeoVim是否可从您的发行版存储库中获得,则可以参考NeoVim wiki中的安装说明。

虽然FUSE库使得appimage可以由非root用户在它们的主目录运行,但我们通常会将其放入/usr/bin来时的所有用户都可以使用。这将允许用户使用相同的应用程序的同时,进行单独配置以满足他们的特定需求。

安装NeoVim Appimage

  1. 下载并安装appimage,使用output-document选项将其重命名为nvimwget --quiet https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage --output-document nvim
  2. 将所有者设置为root,并使所有用户都可以访问nvim: chmod +x nvim sudo chown root:root nvim
  3. 将二进制文件移动到/usr/binsudo mv nvim /usr/bin
  4. 进入主目录并创建子文件夹以存储配置文件: cd ~ mkdir -p .config/nvim

安装Vim-plug插件管理器

为了更方便安装插件,请使用Vim-plug插件管理器。该插件管理器使用git来管理大多数插件:

代码语言:txt
复制
 curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

(可选项)导入现有vim配置

如果您已经拥有vim配置,那么可以将其重用于nvim。虽然vim和nvim可以共享相同的配置文件,但是为了避免在没有为vim配置Vim-plug时出错,请为vim创建一个单独的配置文件,:

代码语言:txt
复制
ln -s ~/.vimrc ~/.config/nvim/init.vim

或者以当前目录路径下创建一个单独的配置文件,使用~/.vimrc

代码语言:txt
复制
cp ~/.vimrc ~/.config/nvim/init.vim

运行NeoVim

启动nvim,输入:

代码语言:txt
复制
nvim

如果不保存更改就推出,请按ESC键进入命令模式,之后输入:

代码语言:txt
复制
:q!

安装NeoVim插件

Nvim-completion-manager插件

nvim-completion-manager是一个快速、可扩展的完整框架,支持各种编程语言和代码段解决方案。其中一些是开箱即用的,而另一些则需要安装额外的Python 3模块才能工作。在本文中,我们将介绍此插件与UltiSnips的合作使用,后者是一个强健的代码段解决方案。

  1. 安装NeoVim Python模块: pip3 install --user neovim
  2. ~/.config/nvim/init.vim文件底部添加以下行,以容纳UltiSnips和vim-snippets提供的代码段:
  3. 启动nvim,执行PlugInstall,更新插件,然后退出: nvim :PlugInstall :UpdateRemotePlugins :q! :q!
  4. 重新启动nvim后,该插件即可使用。如果需要测试它,请如下创建一个名为helloworld.py.py的文件: nvim helloworld.pyi进入插入模式,然后输入def。您应该看到一个类似于下图所示的下拉列表。使用键盘上的向上和向下箭头高亮其中一个选项,然后按Tab键。代码段将插入文件的正文中:
    有关其他编程语言中的更多示例,请参阅插件文档

Far.vim插件

far-vim是一个用于对一组文件(通常在同一目录中)执行异步搜索和替换操作的插件。

  1. 之前插入以下行call plug#end()~/.config/nvim/init.vim
  2. 打开nvim并执行PlugInstall,更新插件,然后退出。重新启动nvim时,该插件将可用: nvim :PlugInstall :UpdateRemotePlugins :q! :q!
  3. 如果要测试Far.vim,请创建一个名为myproject的目录并在目录中创建两个文件: mkdir myproject cd myproject
  4. 使用nvim打开任一文件并使用命令模式: :Far name nombre .py$ --source=acknvim nvim窗口将分为两个窗格。左侧显示文件,如果更改应用于当前目录中的所有.py文件,右侧则显示相应结果。使用Fardo应用更改(仍处于命令模式): :Fardo 如果需要撤消更改: :Farundo

Neomake—— 另一种选择

您可能还想看看neomake,一个类似于vim中syntastics的插件。每当你保存更改,syntastucs在检查大文件的语法时,它可能会假死,neomake在不造成任何中断的情况下实现相同功能。

蓝图和未来

有超过300名开发人员在GitHub中为NeoVim做出贡献,预计该项目将以比过去更快的速度增长。您可以访问官方GitHub,来查看milestones里程碑事件和下一版本的roadmap蓝图。

更多信息

有关此主题的其他信息,您可能会需要参考以下资源。虽然我们希望提供的资源是有效的,但请注意,我们无法保证外部托管材料的准确性或及时性。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是NeoVim?
  • 从NeoVim可以期待什么?
  • 准备工作
  • 安装NeoVim Appimage
  • 安装Vim-plug插件管理器
  • (可选项)导入现有vim配置
  • 运行NeoVim
  • 安装NeoVim插件
    • Nvim-completion-manager插件
      • Far.vim插件
        • Neomake—— 另一种选择
        • 蓝图和未来
        • 更多信息
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档