在Mac上使用Homebrew安装现代化VIM——Neovim
  JsgG4E4UHafM 2023年11月02日 65 0


概念:

  • ​Neovim​​,由于vim的现在代码量30万,维护起来不好维护,于是从最开始的vim分支fork的一条分支,使vim重生!

安装步骤:

1,安装

brew install neovim

更改别名,鸟枪换炮。

# edit ~/.zshrcalias vim='nvim'alias vi='nvim'

2,插件

1,安装插件管理器

很多丰富的功能依赖于插件的加持,在安装插件之前,需要先安装插件的管理方式,这里使用 ​​vim-plug​​, 命令如下:

#注意这是vim用户的情况
curl -fLo ~/.vim/autoload/plug.vim --create-dirs <https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim>
#注意这才是neovim用户,
curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs <https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim>

⚠️ tips:如果vim用户neovim用户搞错了之后之后就无法调用plug这个函数安装插件了,切记。

大多数情况下,我们在国内执行如上命令,都会得到如下回复:​​curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused​​,此时将如下一组数据写入到hosts以避开这个报错:

echo "199.232.28.133 raw.githubusercontent.com" >> /etc/hosts

然后再来执行上边的安装命令,即可成功了。

2,配置插件

插件的管理维护依赖于配置文件:​​~/.config/nvim/init.vim​​,标准的语法格式如下:

call plug#begin()call plug#end()

所需要安装的插件写在这两个语句中间,然后通过插件管理的命令进行配置:

  • 安装插件:​​:PlugInstall​
  • 更新插件:​​:PlugUpdate​
  • 删除插件:​​:PlugClean​​ (首先在​​init.vim​​ 中,注释掉该插件,然后打开 Nvim, 使用​​:PlugClean​​ 命令清除该插件)
  • 查看插件状态:​​:PlugStatus​
  • 升级 vim-plug:​​:PlugUpgrade​

3,插件大全

1,底部状态栏vim-airline

默认的iterm2的vim界面中,底部状态栏内容很少,通过配置这个插件,可以让状态栏内容更加丰富一些。

正像上边说的,应该严格按照如上语法要求,将要安装的插件写入到配置文件中:

$ cat ~/.config/nvim/init.vim

call plug#begin()
Plug 'vim-airline/vim-airline'
call plug#end()

然后输入vim进入到neovim中,接着键入​​:PlugInstall​​回车进行安装,其实这个地方编辑的时候已经支持补全,​​键入 P然后tab一下,就会补全为 Plug了​​。看到Done则说明已经安装成功了

在Mac上使用Homebrew安装现代化VIM——Neovim_git在Mac上使用Homebrew安装现代化VIM——Neovim_macos_02

然后通过两次 ​​:q​​退出编辑器,接着再次进入,就能看到插件已经生效了:



MarkDown渲染


  • 组件
Plug 'iamcco/mathjax-support-for-mkdp'
Plug 'iamcco/markdown-preview.vim'
  • nvim需要支持python3,需要安装pynvim
pip3 install --user --upgrade pynvim


【Git】git push提示: error: RPC failed; curl 92 HTTP/2


背景 似乎我没有操作什么,昨天提交正常,今天就不能用了,可能是我升级了什么,从提示的内容来看是因为curl发起请求协议问题(92 错误码: CURLE_HTTP2_STREAM, 可能是curl的一个bug)

排查

$ curl -V
curl 7.64.1 (x86_64-apple-darwin19.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2
Release-Date: 2021-6-23
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets

CURL从7.62.0开始,默认选项是:CURL_HTTP_VERSION_2TLS

在此之前,默认值是: CURL_HTTP_VERSION_1_1

解决 修改协议: 因为是git调用,所以在GIT层面修改配置

git config --global http.version HTTP/1.1

使用git push上传成功

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
JsgG4E4UHafM