毫無疑問,我們生活在編輯器的最好年代,Vim是僅在Vi之下的神級編輯器,而脫胎于Vim的NeoVim則是這個時代最好的編輯器,沒有之一,異步支持、更好的記憶體管理、更快的渲染速度、更多的編輯命令,是大神Thiago de Arruda對開發者們最好的技術饋贈,
之前一篇:Win10系統下安裝編輯器之神(The God of Editor)Vim并且構建Python生態開發環境(2020年最新攻略),我們已經領略了Vim的魅力,但時代不同了,繁瑣的配置,差強人意的性能,很難不讓人把目光投向NeoVim,正所謂江山代有人才出,一代更比一代強,
安裝配置
首先去Github專案官網下載最新穩定版0.8.2:https://github.com/neovim/neovim/releases/tag/stable,選擇Windows64位的壓縮包檔案:nvim-win64.zip,下載成功后,無須安裝,解壓安裝包,放入合適的目錄中,比如 C:\nvim-win64中,
NeoVim有兩個啟動程式,分別是nvim-qt.exe和nvim.exe,前者是基于Gui的客戶端,后者則基于終端Terminal,解壓之后,最好將bin目錄配置到系統的環境變數:C:\nvim-win64\nvim-win64\bin ,如此,我們就可以在系統的任意位置啟動NeoVim,
隨后我們安裝基于異步方法的插件管理工具:vim-plug,
首先,在vim-plug首頁:https://github.com/junegunn/vim-plug 下載plug.vim組態檔,隨后將其復制到到C:\Users\liuyue\AppData\Local\nvim\autoload下,如果沒有這個檔案夾,就自己建一個nvim\autoload檔案夾,這里需要注意的是AppData目錄默認是隱藏的,需要在windows目錄選項中開啟顯示隱藏目錄,
其后,在C:\Users\liuyue\AppData\Local\nvim\目錄中建立NeoVim的初始化配置init.vim:
call plug#begin('C:\nvim-win64\nvim-win64\share\nvim\plugged)
"插件串列
call plug#end()
這里首行是插件的安裝目錄,隨后只要把想要安裝的插件寫入到兩個call關鍵字之間即可,
至此,NeoVim的安裝就完成了,
第一個NeoVim插件
第一個NeoVim插件我們從主題入手,畢竟個性化是最不能被忽略的需求,這里主題推薦邪魅狂狷的One Dark主題:https://github.com/navarasu/onedark.nvim
修改init.vim配置:
call plug#begin('C:\nvim-win64\nvim-win64\share\nvim\plugged')
Plug 'navarasu/onedark.nvim'
call plug#end()
let g:onedark_config = {
\ 'style': 'warm',
\}
colorscheme onedark
這里添加Plug 'navarasu/onedark.nvim'插件,隨后通過:
let g:onedark_config = {
\ 'style': 'warm',
\}
colorscheme onedark
對NeoVim的主題進行設定,保存之后,在終端啟動NeoVim:
nvim test.py
發現主題并未發生變化:

那是因為插件必須先進行安裝,在命令模式輸入:
:PlugInstall
隨后重啟nvim:

One Dark 主題躍然紙上,
目錄管理
目錄管理插件可以讓開發者迅速地操作專案目錄中的代碼,這里推薦使用https://github.com/pablopunk/native-sidebar.vim ,簡單方便,開箱可用:
call plug#begin('C:\nvim-win64\nvim-win64\share\nvim\plugged')
Plug 'navarasu/onedark.nvim'
Plug 'pablopunk/native-sidebar.vim'
call plug#end()
let g:onedark_config = {
\ 'style': 'warm',
\}
colorscheme onedark
let g:native_sidebar_shortcut = '<c-t>'
這里我們通過control+t來開啟左側目錄樹:

終端配置
Windows11系統默認采用的還是Win10時代丑陋的CMD終端風格,但其實,Windows11也默認預裝了最新的Windows Terminal終端,
首先按視窗建+R,輸入wt 第一次啟動Windows Terminal:

在終端視窗中點擊下拉選單,找到設定選項,
默認終端應用程式可以修改為 Windows Terminal,這樣啟動CMD時就是Windows Terminal 終端視窗了:

如此,NeoVim的字體風格就可以繼承Windows Terminal的新風格了,
Python代碼補全配置
用NeoVim來寫Python代碼,就會有代碼補全的需求,業內比較流行的插件是jedi-vim:https://github.com/davidhalter/jedi-vim,
jedi-vim針對開發者的需求,撰寫如語法增強、檔案查看、自動補全等各類功能,并且進行了重構和集成,提供了開箱即用的統一解決方案,一經推出便廣受好評,成為使用 Vim 進行 Python 開發的標配,
但是jedi-vim雖然開箱即用,但卻是一坨雜亂的亂燉,不僅隨著專案功能的增加變得越發龐大和遲緩(有點類似著名的node-moudles),代碼的可讀性也非常糟糕,難以維護和參與,
所以這里推薦性能更優越的ncm2,一個異步自動補全框架:https://github.com/ncm2/ncm2
首先安裝相關依賴:
python3 -m pip install pynvim
python3 -m pip install jedi
pip3 install neovim --upgrade
隨后撰寫配置:
call plug#begin('C:\nvim-win64\nvim-win64\share\nvim\plugged')
Plug 'navarasu/onedark.nvim'
Plug 'pablopunk/native-sidebar.vim'
Plug 'ncm2/ncm2'
Plug 'roxma/nvim-yarp'
Plug 'ncm2/ncm2-bufword'
Plug 'ncm2/ncm2-path'
Plug 'ncm2/ncm2-jedi'
call plug#end()
let g:onedark_config = {
\ 'style': 'warm',
\}
colorscheme onedark
autocmd BufEnter * call ncm2#enable_for_buffer()
" IMPORTANT: :help Ncm2PopupOpen for more information
set completeopt=noinsert,menuone,noselect
let g:native_sidebar_shortcut = '<c-t>'
主要依賴這幾個插件:
Plug 'ncm2/ncm2'
Plug 'roxma/nvim-yarp'
Plug 'ncm2/ncm2-bufword'
Plug 'ncm2/ncm2-path'
Plug 'ncm2/ncm2-jedi'
隨后開啟NeoVim進行安裝:
:PlugInstall
重啟NeoVim:

看起來還不錯吧?
最后,繼續修改配置,讓NeoVim可以直接編譯運行Python代碼:
nnoremap <C-B> :sp <CR> :term python % <CR>
nnoremap <C-W> :bd!<CR>
這里通過control+b快捷鍵組合來編譯運行,control+w組合鍵關閉彈窗:

輕量化、簡單、快速,讓普通小白也能玩得起來,這就是在Win11下用NeoVim撰寫Python的樂趣,奉上筆者的NeoVim完整配置:
call plug#begin('C:\nvim-win64\nvim-win64\share\nvim\plugged')
Plug 'navarasu/onedark.nvim'
Plug 'pablopunk/native-sidebar.vim'
Plug 'ncm2/ncm2'
Plug 'roxma/nvim-yarp'
Plug 'ncm2/ncm2-bufword'
Plug 'ncm2/ncm2-path'
Plug 'ncm2/ncm2-jedi'
call plug#end()
let g:onedark_config = {
\ 'style': 'warm',
\}
colorscheme onedark
autocmd BufEnter * call ncm2#enable_for_buffer()
" IMPORTANT: :help Ncm2PopupOpen for more information
set completeopt=noinsert,menuone,noselect
let g:native_sidebar_shortcut = '<c-t>'
set clipboard^=unnamed,unnamedplus
syntax on "syntax highlighting, see :help syntax
filetype plugin indent on "file type detection, see :help filetype
set number "display line number
set path+=** "improves searching, see :help path
set noswapfile "disable use of swap files
set wildmenu "completion menu
set backspace=indent,eol,start "ensure proper backspace functionality
set undodir=~/.cache/nvim/undo "undo ability will persist after exiting file
set undofile "see :help undodir and :help undofile
set incsearch "see results while search is being typed, see :help incsearch
set smartindent "auto indent on new lines, see :help smartindent
set ic "ignore case when searching
set expandtab "expanding tab to spaces
set tabstop=4 "setting tab to 4 columns
set shiftwidth=4 "setting tab to 4 columns
set softtabstop=4 "setting tab to 4 columns
set showmatch "display matching bracket or parenthesis
set hlsearch incsearch "highlight all pervious search pattern with incsearch
highlight ColorColumn ctermbg=9 "display ugly bright red bar at color column number
" Keybind Ctrl+l to clear search
nnoremap <C-l> :nohl<CR><C-l>:echo "Search Cleared"<CR>
" When python filetype is detected, F5 can be used to execute script
" autocmd FileType python nnoremap <buffer> <c-b> :<cr>:exec '!python' shellescape(expand('%:p'), 1)<cr>
nnoremap <C-B> :sp <CR> :term python % <CR>
nnoremap <C-W> :bd!<CR>
結語
NeoVim是Vim的精神復刻與肉體重生,承襲了Vim的所有操作技巧,假如我們說,二十一世紀以來編輯器領域有什么經典軟體,無疑的,我們應該說,Vim和NeoVim是兩個顛撲不破的巨石重鎮,沒有了它們,編輯器史上便要黯然失光,最后,奉上專案配置地址,與君共觴:https://github.com/zcxey2911/Win11-neovim0.8.2-config-Python
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/542496.html
標籤:其他
