当前位置: 首页 > news >正文

NeoVim初识

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

安装

Mac上安装(无需编译直接解压运行):

cd /tmp
wget https://github.com/neovim/neovim/releases/download/v0.3.1/nvim-macos.tar.gz && \
tar -xzvf nvim-macos.tar.gz && \
sudo mv ./nvim-osx64 /opt/nvim-0.3.1 && \
ln -s /opt/nvim-0.3.1/bin/nvim /usr/local/bin/nvim && echo "[ OK ]"

# Check Health
nvim +checkhealth

添加各种语言支持

NeoVim更像是一个框架,让添加各种支持更加方便。出于这点考虑,原生是不带各种语言支持的,需要自己去安装和关联。

添加python支持

假设(推荐)我们使用virtualenv虚拟环境中的python,地址为~/virtualenv/venv-neovim。 用source ~/virtualenv/venv-neovim/bin/activate开启虚拟环境。然后,

  1. 用pip安装neovim模块:
pip install neovim
  1. 将vim的~/.vim建立nvim的连接(大多数都是通用的不用新创建一个):
ln -s ~/.vim .config/nvim
touch ~/.vim/init.vim
  1. 将虚拟环境的python路径添加到neovim配置文件init.vim中:
let g:python3_host_prog = '/Users/Jason/virtualenv/venv-neovim/bin/python'

注意:虚拟环境一定要是绝对路径!不能用~/这样的。

  1. 检查neovim是否已经有了python支持:
nvim +checkhealth

看到这个,就是成功了:

image

添加ruby支持

首先查看本机的ruby在哪个位置:which ruby,比如/usr/local/bin/ruby。 那么在neovim的配置文件中,加入:

let g:ruby_host_prog = '/usr/local/bin/ruby'

然后在ruby的gem中安装neovim模块:

$ gem install neovim

如果报错:ERROR: Could not find a valid gem 'neovim' (>= 0) in any repository 则需要更新gem:

# 更新源
gem sources --update

# 或者更换源:
gem sources --add https://gems.ruby-china.org/

# 然后删掉其它所有的源,只保留一个:
gem sources --remove https://rubygems.org/
gem sources --remove http://gems.github.com

# 更新源
gem sources --update

# 重新安装neovim
gem install neovim

配置 vimrc

官方推荐,neovim的配置文件vimrc位于的~/.config/nvim/init.vim

安装插件

推荐用neovim官方推荐的vim-plug

安装到~/.vim目录下:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

然后在~/.config/nvim/init.vim配置文件中加入引用:

call plug#begin('~/.vim/plugged')
    Plug 'ncm2/ncm2'
    Plug 'roxma/nvim-yarp'
call plug#end()

注意:plug后要用’单引号。

重启nvim后,在neovim中安装应用的命令::PlugInstall

转载于:https://my.oschina.net/solomonxie/blog/2997471

相关文章:

  • redis 系列20 服务器上
  • 非spring框架下使用querydsl
  • Java注解的基本概念和原理及其简单实用
  • Android Studio自定义组合控件
  • 在.Net Micro Framework中使用DPWS
  • PIC16F877A 内部EEPROM读写实验利用内部函数
  • 如何让DevExpress的DateEdit控件正确显示日期的周名
  • 手把手教你配置Windows2003集群
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • MSDN中文Webcast for Windows Phone
  • C++ 预编译头文件
  • C#学习笔记(七)——定义类
  • C#学习笔记(五)——函数
  • Google CEO 定义 Web 3.0
  • 判断字符串是否是回文字符串或者是否含有回文字符子串 (我是从两颗番茄的博客看的题目,然后自己编的) 不断学习!!...
  • 2017前端实习生面试总结
  • C++类的相互关联
  • canvas绘制圆角头像
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • github从入门到放弃(1)
  • Github访问慢解决办法
  • JavaScript新鲜事·第5期
  • jquery ajax学习笔记
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • npx命令介绍
  • PAT A1120
  • Python_OOP
  • Spring框架之我见(三)——IOC、AOP
  • ViewService——一种保证客户端与服务端同步的方法
  • Yeoman_Bower_Grunt
  • 分布式事物理论与实践
  • 构建二叉树进行数值数组的去重及优化
  • 用Python写一份独特的元宵节祝福
  • 正则表达式小结
  • 翻译 | The Principles of OOD 面向对象设计原则
  • #Linux(Source Insight安装及工程建立)
  • #pragma data_seg 共享数据区(转)
  • #stm32驱动外设模块总结w5500模块
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)windows配置JDK环境
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (力扣)1314.矩阵区域和
  • (转)视频码率,帧率和分辨率的联系与区别
  • ***检测工具之RKHunter AIDE
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .htaccess 强制https 单独排除某个目录
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net core 6.0 升8.0
  • .NET性能优化(文摘)
  • 。。。。。
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [codevs1288] 埃及分数
  • [C进阶] 数据在内存中的存储——浮点型篇