天天看點

在Mac上使用Homebrew安裝現代化VIM——Neovim

概念:

  • ​​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
在Mac上使用Homebrew安裝現代化VIM——Neovim

然後通過兩次 ​

​: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

git config --global http.version HTTP/1.1      

繼續閱讀