<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

開發人員為什么更喜歡NeoVim而不是Vim

jf_ZqFkd6Up ? 來源:Linux迷 ? 2023-02-07 09:59 ? 次閱讀

Vim 編輯器是原始 UNIX 上的vi編輯器的繼承者。作為 Vim 的一個分支,Neovim 是一個旨在提高所有開發人員生活質量的編輯器,有開發者比 Vim 更好。

Vim 是經驗豐富的系統管理員的絕佳選擇。然而,NeoVim 在開發人員中聚集了大量追隨者。 想知道為什么更多的開發人員選擇 NeoVim 而不是 Vim?作為一名熱心的 NeoVim 用戶,我可以想到以下原因。

1、項目維護和功能改進

你可能想知道“Vim 如此流行,尤其是因為‘我已經無法退出 Vim 了’,Vim 將成為用戶的首選。為什么有人會分叉 Vim 并冒著浪費開發時間呢?” 這個問題提的好。Vim 真的很受歡迎!但這并不意味著開發 Vim 的社區對項目本身的狀態感到滿意。 c7f6c6ae-a447-11ed-bfe3-dac502259ad0.png


Vim 目前的代碼庫存在兩個問題:

Vim 的首席開發人員一直沒有將 Vim 的開發培養成一個社區友好的項目,Vim 的主要開發和討論還是在郵件列表 上。NeoVim 自誕生以來,它就專注于提高自己的擴展性與易用性,例如內置終端、異步執行這兩個比較重要的功能、彈出窗口(用于顯示調試消息和自動完成建議),后來由于社區“壓力”而被 Vim 采用。

與 Neovim 相比,Vim 代碼庫的可維護性較差。

2、代碼自動完成(LSP)

LSP 或語言服務器協議是一種協議,它定義了編輯器如何與“語言服務器”通信以啟用代碼突出顯示、語法檢查、代碼完成、嵌入提示、類型提示等選項。 無論您是多么優秀的開發人員,在編輯器中獲得類型提示、錯誤突出顯示等功能都可能不會讓您成為更好的開發人員。盡管如此,它無疑會減少您的開發和/或調試時間。 Neovim 附帶了對 LSP 的開箱即用支持,并使用 Lua 進行進一步配置。然而,Vim 需要一個外部插件來實現這個功能。

3、支持更好的插件

插件是插入現有事物并為其添加新功能的東西。在這種情況下,編輯器插件是插入編輯器并提供更多功能的東西。
c81675d0-a447-11ed-bfe3-dac502259ad0.png


Vim 已經擁有豐富的插件支持和生態系統,以至于有專為 Vim 設計的插件管理器! 但是 Neovim 通過允許插件使用“更通用的語言”在 Lua 中編寫插件來超越 Vim 。并不是說 Vim 的內置語言不好,而是如果您想要類似 IDE 的功能,設置會變得很復雜。而且,對于實際的編程語言,這種配置比 Vim 更容易。 這意味著您甚至可以擴展或修改核心的 Neovim功能。 這是Neovim 專用的插件列表,因為 Vim 不提供類似級別的可擴展性。

4、并行啟動

我在上面討論過,Neovim 使用 Lua 作為插件配置的可選但附加的語言。但是你知道 Neovim 并行啟動每個插件嗎? 這應該會讓你感覺使用 Neovim 更快,特別是如果你有需要幾秒鐘初始化的插件!

5、能夠嵌入編輯器

由于 Neovim 編輯器的代碼庫比 Vim 更容易維護,將核心編輯器嵌入到其他東西中的可能性成為現實。 你現在終于可以在 VS Code 中擁有一個好的編輯器

6、配置文件的位置

使用 Vim 后,當我需要將跨發行版遷移到新的不同 Linux 發行版時,我通常會忘記備份~/.vimrc文件,因為它不在我的~/.config目錄中。 c84bc7da-a447-11ed-bfe3-dac502259ad0.png


大多數現代 Linux 應用程序都遵循稱為 XDG(Cross Desktop Group)的標準。該標準定義了各種內容,但在本例中最重要的內容之一是應用程序加載其配置文件的位置。 該標準規定用戶特定的配置文件應存儲在~/.config目錄中。Neovim 堅持這一點,主要配置文件 (init.nvim) 存儲在~/.config/nvim/目錄中。 這是一個小問題,但在備份計算機上的重要文件時,它的重要性很高。

7、在 Neovim 中進行的優化

在我談論優化之前,請注意這兩個編輯器的速度都足夠快,以至于在日常任務中都不會感覺比另一個更快。但我覺得有必要分享這個。 Neovim 對其如何響應用戶命令進行了多項優化。例如,使用以下命令:


:g//d 如果您在 Vim 中執行上述命令,它將找到所有具有您指定的正則表達式模式的行并刪除這些行。這不是Vim 要做的全部。該d密鑰還將刪除的文本復制到寄存器(剪貼板)。 這意味著,Vim 將執行以下操作:

找到與模式匹配的行

復制到寄存器

刪除行

如果還有其他匹配模式的行,則轉到步驟 1

如果不需要第 2 步,可以在 Vim 中使用以下命令:


:g//d _ 上面的命令除了將行復制到寄存器之外,將執行所有操作,從而加快操作速度。假設您在 Neovim 中運行前面的命令(沒有下劃線)。在這種情況下,它會注意到您正在嘗試刪除多行,并將通過包含下劃線自動“優化”它。

好處:更好的開箱即用配置

這有點個人意見,但如果你是 Vim 或 Neovim 的新手,我建議你從 Neovim 開始你的旅程。兩個編輯器都可以配置,但 Neovim 有更好的默認值。 例如,Neovim 默認啟用以下特性:

autoindent默認啟用

background默認為“dark 暗模式”,除非由終端明確設置

hlsearch(高亮顯示所有匹配項)默認啟用

盡管隨著 Vim 的更新版本,這可能會有所改變,因為這兩個編輯器都在不斷發展。

結論

Vim 的創建是為了改進現有的 Vi 編輯器。它代表 V 改進。同樣,NeoVim 的創建是為了改進現有的 Vim 編輯器。它代表新 Vim。 自從我嘗試并愉快地將我所有的 Vim 配置遷移到 Neovim以來,我已經成為 Vim 用戶兩年了。本文概述了為什么有人會選擇 Neovim 而不是傳統的 Vim。 你還在用 Vim 嗎?為什么!請在評論中告訴我。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11025

    瀏覽量

    207146
  • UNIX
    +關注

    關注

    0

    文章

    295

    瀏覽量

    41141
  • VIM
    VIM
    +關注

    關注

    0

    文章

    129

    瀏覽量

    15207
  • 代碼
    +關注

    關注

    30

    文章

    4588

    瀏覽量

    67222
  • 編輯器
    +關注

    關注

    1

    文章

    793

    瀏覽量

    30600

原文標題:開發人員為什么更喜歡 NeoVim 而不是 Vim

文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RemoTI基本遠程開發人員指南

    `RemoTI基本遠程開發人員指南目錄`
    發表于 03-16 16:28

    誠聘兼職/專職LabVIEW軟件開發人員

    誠聘兼職/專職LabVIEW軟件開發人員要求: 1、熟練掌握LabVIEW編程,具有使用LabVIEW的項目經驗; 2、如果不是很熟悉,愿意從事LabVIEW開發,也非常歡迎。3、為人誠實,辦事踏實
    發表于 03-31 21:15

    嵌入式開發人員需要重點監控的五個重要特征

    (這是我喜歡的一種測試方法,幾乎百分之百不能一次通過)時,系統將如何響應?! ⌒疫\的是,現代微控制器有多種工具幫助開發人員理解嵌入式系統的時序和響應。舉例來說,ARM微控制器有跟蹤功能,使開發人員可以
    發表于 03-02 13:23

    高價尋找matlab快速開發人員

    高價尋找matlab快速開發人員
    發表于 04-04 15:38

    TS-5400開發人員培訓

    TS-5400開發人員培訓
    發表于 10-09 08:54

    開發人員看的視頻

    英特爾?軟件頻道旨在通過向開發人員提供示例,教程,提示,技巧以及如何將開發人員與影響者,創新者聯系起來,幫助他們。
    的頭像 發表于 11-01 06:26 ?2225次閱讀

    什么是英特爾開發人員專區

    什么是英特爾?開發人員專區? 觀看此視頻,了解正在使用工具和資源滿足編碼需求的軟件開發人員。
    的頭像 發表于 11-12 06:55 ?2293次閱讀

    WebVR:開發人員使用的資源介紹

    這是WebVR系列的最后一集。 在這里,我們將向您介紹一些可供開發人員和愛好者使用的資源。
    的頭像 發表于 11-12 06:05 ?1728次閱讀

    英特爾開發人員專區:Android開發

    Android *英特爾?開發人員專區
    的頭像 發表于 05-31 09:37 ?2737次閱讀

    Intel開發人員專區

    Intel?開發人員專區
    的頭像 發表于 05-31 09:24 ?1334次閱讀

    Vim、NeoVim 曝出高危漏洞

    漏洞編號 CVE-2019-12735,Vim 8.1.1365 和 Neovim 0.3.6 之前的版本都受到影響。
    的頭像 發表于 08-09 17:39 ?2950次閱讀

    物聯網參考設計開發人員如何縮短設計周期

    滿足對速度的需求Ignion的開發環境也有助于物聯網參考設計人員、開發人員和最終的制造商縮短其設計周期。借助于Ignion的技術,從數千種潛在可用的、彼此不同的天線中找到合適選項的過程,被縮減到
    的頭像 發表于 11-01 10:14 ?2088次閱讀

    物聯網開發人員喜歡基于Arm的處理器

    對 1,700 多名物聯網開發人員的調查揭示了頂級硬件架構和 IDE 選擇。 物聯網開發人員面臨著無數的硬件和軟件挑戰,從連接要求和互操作性到安全問題和數據管理。此外,他們需要牢記許多設計限制,包括
    發表于 07-29 11:03 ?537次閱讀

    IzoT BACnet 開發人員指南

    IzoT BACnet 開發人員指南
    發表于 03-13 19:31 ?1次下載
    IzoT BACnet <b class='flag-5'>開發人員</b>指南

    IzoT BACnet 開發人員指南

    IzoT BACnet 開發人員指南
    發表于 07-04 20:48 ?0次下載
    IzoT BACnet <b class='flag-5'>開發人員</b>指南
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>