2nthony

2nthony

github
twitter

再再次打造 Vim 編輯器

本文所有 Vim 均为 NeoVim 。为什么要使用 Vim ,我的回答是「颜值与操作」,或者 Google 这个问题。

https://evilaassets.oss-cn-shanghai.aliyuncs.com/uPic/2023/02/VWHt8I.jpg!jpg

原因#

之前定制的不夠好用。正好 Takuya 🐾 devaslife 又更新了 Vim Setup 的視頻,細數已經第四期了,平均每年一期。正好我也需要改,那就跟著一起做一些修改。

結合自身情況淺談 Vim 使用#

在定制好 Vim 且使用了很長時間,並沒有感到 Vim 能帶來非常明顯的效率提升。或許是因為我這段時間內幾乎沒有使用 VS Code,無法對比,所以模糊了這個概念。

我切換到 Vim 的原因大概以下幾個:

  • 半透明的毛玻璃效果。我能很輕鬆的通過 iTerm 2 實現背景半透明的毛玻璃效果。
  • 純鍵盤操作。我可以通過鍵盤來代替大部分鼠標操作,我只是很討厭鍵盤與鼠標之間的來回。
  • 低內存佔用。下面是一個 Vim 與 VS Code 啟動相同最小可行項目,打開相同文件的內存佔用不完全對比。

iTerm 2 + Vim + Node(LSP)#

下面的 node 進程不太確定是否全部是 Vim LSP 帶起來的,姑且全部算上

截圖前做的一些操作:

  • 打開關閉文件搜索 ( nvim-tree
  • 打開文件搜索並確認打開文件 ( telescope nvim
  • 打開 Git ( toggleterm + lazygit
  • 輸入一些內容觸發 LSP 以及代碼提示 ( lspconfig + nvim-cmp

https://evilaassets.oss-cn-shanghai.aliyuncs.com/uPic/2022/08/RfMfJk.png!jpg

VS Code#

截圖前做的一些操作:

  • 打開內置終端
  • 輸入一些內容觸發代碼提示

https://evilaassets.oss-cn-shanghai.aliyuncs.com/uPic/2022/08/gDmgin.png!jpg

肉眼可見,vim 佔用的資源還是少了很多的。

結語#

每當設置完 Vim 後打開一個項目看看效果是很有成就感的 (就像客制化鍵盤拼成後打幾分鐘字,聽聽鍵盤敲擊音那樣的成就感),但已經不想再大費周章來搞 Vim 了。

要是能重來,我要選 LunarVim 之類的已經集成好的編輯器,省心又省力。

更新#

由於種種原因,我已經使用 LunarVim 重來了。理由其實無非都是那幾個:懶,不太想再折騰這個東西。雖然 LunarVim 做了很多處理,但仍然比較習慣先前的定制,我仍然進行了不少遷移和覆蓋,好在比較面向社區化,隨便提了幾個對我有用的 PR 都合了,不過隱藏的風險也是比較面向社區

過程依舊不是一帆風順,文檔的不完善與落後,導致在一些情況下我需要看代碼才能知道如何覆蓋原有的配置。LunarVim 的 stable 版本為了穩定,將插件的 commit 鎖上了,但碰巧撞上 Volar (vue-language-server) 的大版本更新,導致 Vue 項目無法啟動 LSP server 導致無法獲得語言支持。解決的辦法是將這些 commit 刪除即可,但我依舊選擇一種困難的方式寫了一個 hack 配置來自動刪除這些 commit ,因為我認為這種事情可能還會發生。

鏈接#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。