前端開(kāi)發(fā)工具nvim替帶VSCode的安裝配置
1. Neovim是什么
在此之前,我一直都是使用VSCODE或者WEB STORM編輯器的. 他們確實(shí)好用方便. 直到我得了腱鞘炎之后. 不得不尋求減少使用鼠標(biāo)的方案.
在我之前的文章中也描述過(guò)這一過(guò)程. 我從使用VSCODE自帶的快捷鍵到使用Vim模擬器之后. 我對(duì)于這種能夠全鍵盤(pán)完成自己工作的操作方式越發(fā)的著迷.
它足夠的裝??,讓我這樣這種每天工作就是搬磚的底層碼農(nóng)也有一種自己已經(jīng)是程序員的感覺(jué).
由此,我才迸發(fā)了使用vim實(shí)現(xiàn)更多的念頭.
自然而然的接觸到了neovim. 說(shuō)它是vim的分支或者升級(jí)版都可以. 它的所有操作都可以通過(guò)鍵盤(pán)來(lái)實(shí)現(xiàn),分屏、修改、新增、函數(shù)跳轉(zhuǎn)、重構(gòu)、斷點(diǎn)debug、內(nèi)置終端. 最重要的是可以完美的潛入到編輯器當(dāng)中.比如說(shuō)VS Code.這個(gè)極大的降低了開(kāi)發(fā)者使用neovim的心里門(mén)檻.
簡(jiǎn)單來(lái)說(shuō),neovim搭配各種插件可以最大限度的實(shí)現(xiàn)你平時(shí)使用VSCode的功能.
2. 我們?yōu)槭裁葱枰狽eovim
客觀(guān)原因, 想要減輕一下手腕負(fù)擔(dān),畢竟都要去醫(yī)院檢查了, 到了必須要重視的時(shí)候了.
至于很多大佬說(shuō)的使用類(lèi)vim這種編碼方式可以提高工作的效率. 就我自己的體驗(yàn)而言,這個(gè)真沒(méi)有.或許它讓我極大的減少了使用鼠標(biāo)的次數(shù),極大的提高我敲字母的速度.但是這些一直都不是限制提高我工作效率的主要原因.
主要原因,是對(duì)于需求的理解,對(duì)于語(yǔ)言的熟悉度,對(duì)于A(yíng)PI調(diào)用的熟悉度,對(duì)于編程思維邏輯的轉(zhuǎn)化程度,更準(zhǔn)確的說(shuō),是對(duì)設(shè)計(jì)模式在實(shí)際業(yè)務(wù)開(kāi)發(fā)中合理的使用.
對(duì)于我這種菜鳥(niǎo)而言, 在使用vim之前, 思維的方式都還沒(méi)跟上我敲鍵盤(pán)的速度??, 所以我編碼的速度再快也沒(méi)有用
其次, 通過(guò)鍵盤(pán)來(lái)操作,會(huì)帶來(lái)快感.而且隨著你熟練度的不停提升. 而且這個(gè)快感能夠持續(xù)的時(shí)間很長(zhǎng),長(zhǎng)到我使用了將近了兩個(gè)月之后,每每想到要寫(xiě)代碼的時(shí)候,還是會(huì)有興奮感.
更重要的是,neovim自己從頭開(kāi)始配置的話(huà),你會(huì)熟悉每一個(gè)功能,每一個(gè)自己設(shè)置的hot keybindings.這種如臂使指的感覺(jué)會(huì)更加強(qiáng)烈.
最后,相比vim, neovim更強(qiáng)的性能和更現(xiàn)代化的lua配置語(yǔ)言,當(dāng)然這些是事實(shí), neovim 帶來(lái)的異步任務(wù)特性從邏輯上必然是會(huì)提升體驗(yàn)的,還有浮窗功能. 當(dāng)然聽(tīng)說(shuō)vim現(xiàn)在也有很多更新.但是我并不關(guān)心.
畢竟僅僅是neovim的顏值就可以不再看vim一眼了. 如下:

顏值才是第一生產(chǎn)力
總的來(lái)說(shuō):
- 還不錯(cuò)的顏值
- 極客
- 裝??
- 如臂使指的快感
3. 如何配置Neovim
我逛遍了整個(gè)中文社區(qū),只推薦在兩個(gè)地方看如何從頭配置Neovim.
一個(gè)掘金上面有一本且唯一一本小冊(cè)也從頭配置起了neovim. 另一個(gè)在知乎上面搜索 「Neovim IDE 搭建系列」即可.
當(dāng)然也可以直接使用網(wǎng)上大佬的配置.
但是這些大佬的配置, 對(duì)于不熟悉lua的人來(lái)說(shuō),確實(shí)是夠抽象的. 就算能夠成功運(yùn)行,也是一臉的懵逼.就達(dá)不到如臂指使的程度了,所以還是推薦有時(shí)間有精力的話(huà),跟著教程自己從頭配置一遍.
不得不說(shuō),確實(shí)很可能會(huì)消耗你不少的時(shí)間的.但是給你帶來(lái)的影響,甚至?xí)S你的整個(gè)職業(yè)生涯的.
只要是處理文字就有可能需要vim
系統(tǒng)的看可以去看掘金小冊(cè)中neovim的教程,整個(gè)掘金就一個(gè). 或者去看知乎上面. 這里就不畫(huà)蛇添注了,只做一個(gè)簡(jiǎn)單的過(guò)程概要.
我當(dāng)前的配置環(huán)境:
環(huán)境: MacOS Monterey 12.3
終端工具: iterm2
軟件管理工具: HomeBrew
其實(shí)大差不差的,即使是在windows平臺(tái)也是需要配置wsl2來(lái)進(jìn)行環(huán)境的配置.配置邏輯基本相同
3.1 安裝第三方終端
這里選擇了使用人數(shù)最多的,有了疑問(wèn)也容易搜索到. iterm2. 使用homebrew進(jìn)行軟件管理
brew install iterm2
3.2 安裝neoviem
brew install neovim
homebrew的使用具體可以查看我的另外一篇文章
一般來(lái)說(shuō)安裝neovim是不會(huì)出問(wèn)題的.但是要安裝neovim的前置環(huán)境會(huì)勸退一批人.
你需要安裝好nodejs、python環(huán)境, nodejs自不用說(shuō), 很多neovim的插件都是依托于python3環(huán)境的.
brew install python3 pip3 install neovim --upgrade
安裝python模塊之后,我們可以在終端中輸入nvim就能夠自動(dòng)的進(jìn)入到nvim的主頁(yè)面. 此時(shí)輸入:CheckHealth它就會(huì)自動(dòng)檢測(cè)你當(dāng)天環(huán)境是否已經(jīng)成功配置成功了.
當(dāng)你看到全部是OK的時(shí)候,就表明已經(jīng)配置成功了 . 即使出現(xiàn)了ERROR也不用害怕,它下面會(huì)給出建議,讓你干啥你就干啥就好.
每個(gè)人電腦當(dāng)前環(huán)境不一樣,網(wǎng)絡(luò)狀況不一樣,有時(shí)候確實(shí)會(huì)出現(xiàn)不一樣的問(wèn)題,這就需要你自己善于使用搜索功能了.在這里我推薦reddit中的r/neovim社區(qū).
以下是我自己碰到的問(wèn)題:
1.安裝pip失敗,提示: SyntaxError: invalid syntax
使用bootstrap教程
curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py
接著使用python3執(zhí)行該腳本
sudo python3 get-pip.py
靜等它執(zhí)行完成,隨后在命令好中輸入:
pip --version
出現(xiàn)如下截圖說(shuō)明,你的pip已經(jīng)安裝成功

有了pip,就可以執(zhí)行pip install neovim,讓pyhon3和neovim產(chǎn)生關(guān)聯(lián)
2. ERROR: This script does not work on Python 2.7 The minimum supported Python version is 3.6. Please use bootstrap.pypa.io/pip/2.7/get… instead
顧名思義,就是使用pyhon2.7版本不支持, 請(qǐng)下載bootstrap.pypa.io/pip/2.7/get…
3. Ruby provider (optional)的/usr/local/bin/neovim-ruby-host --version
運(yùn)行如下命令可以解決:
gem install msgpack
3.3 快速啟動(dòng)neovim
cd ~ && vim .zshrc
然后找到空白地區(qū),鍵入:
# neovim alias vim='nvim' alias vi='nvim'
之后你就可以直接在shell中輸入vi或者vim就是使用的neovim了
3.4 創(chuàng)建neovim配置文件
mkdir ~/.config/nvim vi ~/.config/nvim/init.vim
配置文件結(jié)果如下:

init.lua 是所有功能的初始化
lua -> 配置文件下詳情
lsp -> 提供代碼識(shí)別功能,和vscode通用一套.
plugin-config -> 其他各種花里胡哨的配置, 功能性的、UI類(lèi)型的都在里面
basic.lua -> vim基本配置文件
colorscheme.lua -> 其實(shí)屬于plugin-config中的一員,但是主題是高頻使用所以單獨(dú)拎出
keybindings.lua -> 鍵位綁定
plufins.lua -> 插件引入入口
ginit.vim -> 我的終端模擬器neovide配置文件
pugin -> 自動(dòng)生成
更具具體的配置內(nèi)容,可以自己網(wǎng)上搜索
3.5 配置字體
字體是終端一切漂亮圖標(biāo)的基礎(chǔ). nerd font
地址在這里 www.nerdfonts.com/font-downlo…. 找一個(gè)自己喜歡的就行. nerd font是這些字體的超集.
需要注意的是, neovim的配置文件和終端模擬器都需要配置對(duì)應(yīng)的字體
4. 終端模擬器之選
4.1 iterm2
優(yōu)點(diǎn): 網(wǎng)上的資料最多. 而且提供了可視化的UI配置. 配置起來(lái)也是最簡(jiǎn)單.功能也是最簡(jiǎn)單的.如果要使用thmux的話(huà),甚至是有內(nèi)置的.
缺點(diǎn): 卡, 分屏多幾個(gè)就卡得不行不行的, 即使配置了GPU加速也沒(méi)有任何作用,現(xiàn)在已放棄.
4.2 alacrittty
A fast, cross-platform, OpenGL terminal emulator
優(yōu)點(diǎn): 快,簡(jiǎn)單
缺點(diǎn): 太簡(jiǎn)單,沒(méi)有tab, 你一次只能打開(kāi)一個(gè)終端.
我的配置文件如下:
# Spread additional padding evenly around the terminal content. dynamic_padding: true # window customization window: dimensions: columns: 140 lines: 38 # padding: # x: 0 # y: 0 decorations: none # Background opacity opacity: 0.95 # mouse mouse: hide_when_typing: true scrolling: history: 10000 multiplier: 3 # Font configuration font: normal: family: "SauceCodePro Nerd Font" style: "常規(guī)體" bold: family: "SauceCodePro Nerd Font" style: "粗體" italic: family: "SauceCodePro Nerd Font" style: "斜體" bold_italic: family: "SauceCodePro Nerd Font" style: "粗斜體" # Point size size: 14.0 offset: x: 0 y: 5 glyph_offset: x: 0 y: 0 use_thin_strokes: true # #builtin_box_drawing: true # If `true`, bold text is drawn using the bright color variants. draw_bold_text_with_bright_colors: true
文件放置于 .config/alacritty/alacritty.yml
4.3 kitty
優(yōu)點(diǎn): 快、使用過(guò)程中沒(méi)有出現(xiàn)性能問(wèn)題. 可以配置項(xiàng)很多. 缺點(diǎn): 配置文件全英文,官方文檔全英文,足夠復(fù)雜 網(wǎng)上說(shuō)之前說(shuō)中文輸入有問(wèn)題,我是沒(méi)有碰到. 而且也是快,沒(méi)有性能問(wèn)題. 現(xiàn)在完全作為頂替iterm2的存在 配置文件, 基本使用默認(rèn)配置,改了如下:
font_family BlexMono NF adjust_column_width -1 background_opacity 0.9 hide_window_decorations yes
第一個(gè)是為了連體字
第二個(gè)是kitty默認(rèn)字體渲染間距偏寬,-1就正好
第三個(gè)背景來(lái)一點(diǎn)透明
第四個(gè)隱藏頂部title
4.4 Neovide
各種使用下來(lái)感覺(jué)就是alacritty的升級(jí)版.升級(jí)在了那些騷操作上面.我現(xiàn)在的開(kāi)發(fā)項(xiàng)目的主力. 簡(jiǎn)單, 動(dòng)畫(huà)很流暢.掌控感有爽快感.
配置文件:
set guifont=BlexMono\ NF:h14 set listchars=tab:>~,trail:. let g:neovide_refresh_rate=60 let g:neovide_no_idle=v:false let g:neovide_fullscreen=v:false let g:neovide_cursor_animation_length=0.13 let g:neovide_remember_window_size=v:true let g:neovide_cursor_trail_length=0.5 let g:neovide_cursor_antialiasing=v:true let g:neovide_cursor_vfx_mode = "torpedo" let g:neovide_cursor_vfx_opacity=200.0 let g:neovide_cursor_vfx_particle_lifetime=1.2 let g:neovide_cursor_vfx_particle_density=7.0 let g:neovide_cursor_vfx_particle_speed=10.0 let g:neovide_cursor_vfx_particle_phase=1.5 let g:neovide_cursor_vfx_particle_curl=1.0
以上就是前端開(kāi)發(fā)工具nvim來(lái)代替VSCode配置使用的詳細(xì)內(nèi)容,更多關(guān)于前端開(kāi)發(fā)工具nvim配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vscode遠(yuǎn)端配置及一些問(wèn)題解決方案
我們之前大概了解了vscode的本地設(shè)置,我們之前提過(guò),vscode是一款編輯器,在文本編輯方面有著強(qiáng)大的功能,vscode強(qiáng)大的功能還在于可以連接遠(yuǎn)端機(jī)器,為我們的遠(yuǎn)端機(jī)器服務(wù),今天我們主要來(lái)進(jìn)行遠(yuǎn)端配置,感興趣的朋友跟隨小編一起看看吧2024-03-03
導(dǎo)致爬蟲(chóng)無(wú)法使用的原因探討解決
隨著互聯(lián)網(wǎng)的普及和發(fā)展,爬蟲(chóng)技術(shù)也越來(lái)越多地被應(yīng)用到各個(gè)領(lǐng)域,然而,在實(shí)際使用中,爬蟲(chóng)可能會(huì)遇到各種問(wèn)題導(dǎo)致無(wú)法正常工作,本文將探討導(dǎo)致爬蟲(chóng)無(wú)法使用的原因,并給出相應(yīng)的解決方法2023-10-10
npm script 的文件監(jiān)聽(tīng)和自動(dòng)刷新的命令詳解
文件監(jiān)聽(tīng)的作用是為了實(shí)現(xiàn)自動(dòng)化,釋放雙手和精力,提高效率,讓開(kāi)發(fā)者更加關(guān)注于開(kāi)發(fā)。這篇文章主要介紹了npm script 的文件監(jiān)聽(tīng)和自動(dòng)刷新,需要的朋友可以參考下2019-06-06
Chrome瀏覽器斷點(diǎn)調(diào)試技巧(非常詳細(xì)!)
在我們?nèi)粘i_(kāi)發(fā)中,常常利用chrome強(qiáng)大的控制臺(tái)Sources下面進(jìn)行代碼斷點(diǎn)調(diào)試,這篇文章主要給大家介紹了關(guān)于Chrome瀏覽器斷點(diǎn)調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下2023-09-09
git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版)
這篇文章主要介紹了git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版),需要的朋友可以參考下2020-09-09
Postman配置多環(huán)境請(qǐng)求地址的實(shí)現(xiàn)
本文主要介紹了Postman配置多環(huán)境請(qǐng)求地址的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
SonarQube實(shí)現(xiàn)自動(dòng)化代碼掃描的安裝及使用集成方式
Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)源平臺(tái),通過(guò)插件機(jī)制,Sonar可與第三方工具進(jìn)行集成。將Sonar引入到代碼開(kāi)發(fā)的過(guò)程中,提供靜態(tài)源代碼安全掃描能力,這無(wú)疑是安全左移的一次很好的嘗試和探索2021-10-10
VS2019無(wú)法啟動(dòng)程序(系統(tǒng)找不到指定文件)解決辦法
這篇文章主要介紹了VS2019無(wú)法啟動(dòng)程序(系統(tǒng)找不到指定文件)解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
使用let's?encrypt申請(qǐng)免費(fèi)的SSL證書(shū)
這篇文章主要為大家介紹了如何使用let's?encrypt申請(qǐng)免費(fèi)的SSL證書(shū)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

