Neovim基本介绍

目录

  • Neovim出现的原因
  • 优化点
  • 安装
    • 1.源代码安装
    • 2.管理包安装
    • 3.下载安装包安装
  • 配置
  • 运行
  • 健康检查
  • Oni

Neovim出现的原因

  • neovim代码库不需要向后兼容,方便开发维护
  • 解决vim插件编写困难,特别是异步操作
  • 解决vim插件编写困难,不再要求插件开发者需要熟悉vimscript
  • 默认配置适应现代开发需求
  • 更容易增加新功能

优化点

  • 重构vim代码库,使用统一编码风格
  • 放弃对旧系统的支持
  • 适应现代开发的默认配置
  • 提供丰富的查看开发API,例如python,lua,javascript等
  • 支持与外部程序的通信

安装

1.源代码安装

由于需要github支持,在国内不容易安装

#1.安装
make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=$HOME/neovim"
make install
export PATH="$HOME/neovim/bin:$PATH"#2.卸载
cmake --build build/ --target uninstall

2.管理包安装

安装的版本比较低

#1.安装neovim
sudo apt install -y neovim

3.下载安装包安装

推荐这种方式安装

#1.根据操作系统下载安装包
https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-download
#2.解压
tar -xf nvim-linux64.tar.gz
#3.移动到安装位置
sudo mv nvim-linux64 /opt/
#4.设置环境变量
sudo vim /etc/profileexport PATH="/opt/nvim-linux64/bin/bin:$PATH"
#5.环境变量起作用
source /etc/profile

配置

#遵守XDG基本目录结构
~/.config/nvim/init.vim 对应于 ~/.vimrc
~/.config/nvim 对应于 ~/.vim/#查看默认设置
:help nvim-defaults

运行

#1.运行neovim
nvim#2.实现neovim对python3的支持
#启用功能不需要重新编译
python3 -m pip install neovim

健康检查

#1.健康检查
:checkhealth#2.解决没有剪切板
sudo apt install xclip#3.WERNING Missing "neovim" npm(or yarn,pnpm) package.
npm install -g neovim#4.WARNING ruby and gem must be in $PATH
cd $HOME
sudo apt-get update
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarncd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELLgit clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELLrbenv install 3.0.1
rbenv global 3.0.1
ruby -vgem install bundler
rbenv rehash#5.WARNING "Neovim::Ext" cpan module is not installed
sudo apt install -y cpanminus
sudo cpanm -n Neovim::Ext
sudo cpanm -n App::cpanminus#6.WARNING Can't write to /usr/local/share/perl/5.34.0 and /usr/local/bin: Install modules to /home/lei/perl5
ADVICE:To turn offf this warning, you have to do one of the following:run me as a root or with --sudo option (to install to /usr/local/share/perl/5.34.0 and /usr/local/bin)Configure local::lib in your existing shell to set PERL_MM_OPT etc.Install local::lib by running the following commandscpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
#选择最后一种方法
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)

Oni

使用vscode,而不要使用Oni

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735488.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySql学习之路】window环境下MySql安装和安装过程中出现的问题

environment:windows software:mysql 本文主要分享mysql关系型数据库在干净的环境下,第一次安装以及在安装过程中出现的常见问题和解决方法。目前官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的。很多人下了zip格式的解压发现没有setup.exe,面对一堆文件无从…

最全NVIDIA Jetson开发板参数配置和购买指南

NVIDIA开发的GPU不仅在电脑显卡领域占据大量份额,在嵌入式NVIDIA的Jeston系列开发板也近乎是领先的存在,特别是NVIDIA Jeston系列开发板在算力和成本的平衡上都要优于其他厂家,性价比很高,设备体积小。本博文旨在给采购NVIDIA Jes…

2024年华为OD机试真题- 项目排期-Python-OD统一考试(C卷)

题目描述: 项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。 输入描述: 第一行…

【LeetCode每日一题】299. 猜数字游戏

文章目录 [299. 猜数字游戏](https://leetcode.cn/problems/bulls-and-cows/)思路:代码: 299. 猜数字游戏 思路: 遍历两个字符串 secret 和 guess,若字符既在相同位置上又相等,则位置和数字都正确,对应的 …

FPGA 图像亮度、对比度、饱和度调节

1 亮度 1.1 亮度简介 亮度是指图像的光度学或感觉上的属性,它反映了图像的明暗程度。在图像处理中,亮度通常用灰度值表示,灰度值越高,图像看起来越亮;反之,越低则越暗。 对图像进行亮度调节,…

宝塔一键迁移报错创建失败问题完美解决

很多站长朋友在使用宝塔面板迁移的时候总是出错,如图: 遇到这样的问题不要慌,我们已经完美处理,详细解决教程:宝塔一键迁移报错问题完美解决教程

力扣爆刷第90天之hot100五连刷36-40

力扣爆刷第90天之hot100五连刷36-40 文章目录 力扣爆刷第90天之hot100五连刷36-40一、94. 二叉树的中序遍历二、104. 二叉树的最大深度三、26. 翻转二叉树四、101. 对称二叉树五、543. 二叉树的直径 一、94. 二叉树的中序遍历 题目链接:https://leetcode.cn/proble…

【洛谷千题详解】P1838 三子棋I

题目总览 题目描述 小 a 和 uim 喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面 OOXX(别想歪了),谁连成 3 个就赢了。 由于小 a 比较愚蠢,uim 总是让他先。 我们用 9 个数字表示棋盘位置:…

微信小程序跳转到其他小程序

有两种方式,如下: 一、appid跳转 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//不配的话默认是首页//develop开发版;trial体验版;release正式版envVersion: release, success(res) {// 打开成功…

JDBC的学习记录

JDBC就是使用java语言操作关系型数据库的一套API。 JDBC(Java Database Connectivity)是Java语言中用于连接和操作数据库的一种标准接口。它提供了一组方法和类,使Java程序能够与各种不同类型的关系型数据库进行交互。 JDBC的主要功能包括建…

QT 笔记 QGraphicsItem 介绍

介绍 QGraphicsItem是Qt中用于在图形视图框架中表示可视图形项的基类。在Qt的图形视图框架中,你可以使用QGraphicsItem及其派生类来创建可在图形场景中显示的图形元素。下面是关于QGraphicsItem的一些重要信息: 作用:QGraphicsItem是所有在…

Dockerfile指令大全

Dockerfile文件由一系列指令和参数组成。指令的一般格式为INSTRUCTION arguments。具体来说,包括"配置指令"(配置镜像信息)和"操作指令"(具体执行操作)。每条指令,如FROM,都是大小写不敏感的。但是为了区分指令和参数&am…

Angular基础---HelloWorld---Day3

文章目录 0.ng-model 的几种不同的class属性1.ng-model 的引用与属性的调用2.表单验证: (模版引用变量、ngModel 、ngif一起使用)3.根据class属性的值ng-invalid ,设置动态变化的样式 0.ng-model 的几种不同的class属性 引用ng-model 元素的c…

数据体系规范化

基础是标准化、规范化 建立数据仓库,面向主题的、集成的、相对稳定的、反映历史变化的数据集合,以支持管理决策decision making 大数据:大量volumn、多样variety、快速velocity、价值密度低value、准确性veracity、可视化visualization、合法性validity 多源数据、多样数…

分布式执行引擎ray入门--(3)Ray Train

Ray Train中包含4个部分 Training function: 包含训练模型逻辑的函数 Worker: 用来跑训练的 Scaling configuration: 配置 Trainer: 协调以上三个部分 Ray TrainPyTorch 这一块比较建议直接去官网看diff,官网色块标注的比较清晰,非常直观。 impor…

MySQL-视图:视图概述、使用视图注意点、视图是否影响基本表

视图 一、视图概述二、使用视图注意点三、视图操作是否影响基本表 一、视图概述 在数据库管理系统中,视图(View)是一种虚拟表,它并不实际存储数据,而是基于一个或多个实际表的查询结果。视图提供了一种对数据库中数据…

题目 2132: T1268-完全背包问题

题目描述: 设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最…

RabbitMQ备份交换机

1. 备份交换机 备份交换机可以理解为 RabbitMQ 中交换机的“备胎”,当我们为某一个交换机声明一个对应的备份交换机时,就是为它创建一个备胎,当交换机接收到一条不可路由消息时,将会把这条消息转发到备份交换机中,由备…

reids设计与实现(一)——数据对象

文章目录 1. 前言2. redis 动态字符串2.1. 字符串的数据结构:2.2. 剖析,length;2.3. 剖析,free;2.3. 使用c字符串函数; 3. redis 链表4. 字典5. 跳跃表 1. 前言 reids作为最常用的缓存数据库,深…

web3 DePIN赛道之OORT

文章目录 什么是DePIN什么是oort背景:去中心化云计算场景团队OORT AIOORT StorageOORT Compute 参考 什么是DePIN DePIN是Decentralized Physical Infrastructure Networks的简称,中文意思就是去中心化的网络硬件基础设施,是利用区块链技术和代币奖励来调动分散在世…