0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)人員為什么更喜歡NeoVim而不是Vim

jf_ZqFkd6Up ? 來(lái)源:Linux迷 ? 2023-02-07 09:59 ? 次閱讀

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

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

1、項(xiàng)目維護(hù)和功能改進(jìn)

你可能想知道“Vim 如此流行,尤其是因?yàn)椤乙呀?jīng)無(wú)法退出 Vim 了’,Vim 將成為用戶的首選。為什么有人會(huì)分叉 Vim 并冒著浪費(fèi)開發(fā)時(shí)間呢?” 這個(gè)問題提的好。Vim 真的很受歡迎!但這并不意味著開發(fā) Vim 的社區(qū)對(duì)項(xiàng)目本身的狀態(tài)感到滿意。 c7f6c6ae-a447-11ed-bfe3-dac502259ad0.png


Vim 目前的代碼庫(kù)存在兩個(gè)問題:

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

與 Neovim 相比,Vim 代碼庫(kù)的可維護(hù)性較差。

2、代碼自動(dòng)完成(LSP)

LSP 或語(yǔ)言服務(wù)器協(xié)議是一種協(xié)議,它定義了編輯器如何與“語(yǔ)言服務(wù)器”通信以啟用代碼突出顯示、語(yǔ)法檢查、代碼完成、嵌入提示、類型提示等選項(xiàng)。 無(wú)論您是多么優(yōu)秀的開發(fā)人員,在編輯器中獲得類型提示、錯(cuò)誤突出顯示等功能都可能不會(huì)讓您成為更好的開發(fā)人員。盡管如此,它無(wú)疑會(huì)減少您的開發(fā)和/或調(diào)試時(shí)間。 Neovim 附帶了對(duì) LSP 的開箱即用支持,并使用 Lua 進(jìn)行進(jìn)一步配置。然而,Vim 需要一個(gè)外部插件來(lái)實(shí)現(xiàn)這個(gè)功能。

3、支持更好的插件

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


Vim 已經(jīng)擁有豐富的插件支持和生態(tài)系統(tǒng),以至于有專為 Vim 設(shè)計(jì)的插件管理器! 但是 Neovim 通過(guò)允許插件使用“更通用的語(yǔ)言”在 Lua 中編寫插件來(lái)超越 Vim 。并不是說(shuō) Vim 的內(nèi)置語(yǔ)言不好,而是如果您想要類似 IDE 的功能,設(shè)置會(huì)變得很復(fù)雜。而且,對(duì)于實(shí)際的編程語(yǔ)言,這種配置比 Vim 更容易。 這意味著您甚至可以擴(kuò)展或修改核心的 Neovim功能。 這是Neovim 專用的插件列表,因?yàn)?Vim 不提供類似級(jí)別的可擴(kuò)展性。

4、并行啟動(dòng)

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

5、能夠嵌入編輯器

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

6、配置文件的位置

使用 Vim 后,當(dāng)我需要將跨發(fā)行版遷移到新的不同 Linux 發(fā)行版時(shí),我通常會(huì)忘記備份~/.vimrc文件,因?yàn)樗辉谖业膥/.config目錄中。 c84bc7da-a447-11ed-bfe3-dac502259ad0.png


大多數(shù)現(xiàn)代 Linux 應(yīng)用程序都遵循稱為 XDG(Cross Desktop Group)的標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了各種內(nèi)容,但在本例中最重要的內(nèi)容之一是應(yīng)用程序加載其配置文件的位置。 該標(biāo)準(zhǔn)規(guī)定用戶特定的配置文件應(yīng)存儲(chǔ)在~/.config目錄中。Neovim 堅(jiān)持這一點(diǎn),主要配置文件 (init.nvim) 存儲(chǔ)在~/.config/nvim/目錄中。 這是一個(gè)小問題,但在備份計(jì)算機(jī)上的重要文件時(shí),它的重要性很高。

7、在 Neovim 中進(jìn)行的優(yōu)化

在我談?wù)搩?yōu)化之前,請(qǐng)注意這兩個(gè)編輯器的速度都足夠快,以至于在日常任務(wù)中都不會(huì)感覺比另一個(gè)更快。但我覺得有必要分享這個(gè)。 Neovim 對(duì)其如何響應(yīng)用戶命令進(jìn)行了多項(xiàng)優(yōu)化。例如,使用以下命令:


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

找到與模式匹配的行

復(fù)制到寄存器

刪除行

如果還有其他匹配模式的行,則轉(zhuǎn)到步驟 1

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


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

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

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

autoindent默認(rèn)啟用

background默認(rèn)為“dark 暗模式”,除非由終端明確設(shè)置

hlsearch(高亮顯示所有匹配項(xiàng))默認(rèn)啟用

盡管隨著 Vim 的更新版本,這可能會(huì)有所改變,因?yàn)檫@兩個(gè)編輯器都在不斷發(fā)展。

結(jié)論

Vim 的創(chuàng)建是為了改進(jìn)現(xiàn)有的 Vi 編輯器。它代表 V 改進(jìn)。同樣,NeoVim 的創(chuàng)建是為了改進(jìn)現(xiàn)有的 Vim 編輯器。它代表新 Vim。 自從我嘗試并愉快地將我所有的 Vim 配置遷移到 Neovim以來(lái),我已經(jīng)成為 Vim 用戶兩年了。本文概述了為什么有人會(huì)選擇 Neovim 而不是傳統(tǒng)的 Vim。 你還在用 Vim 嗎?為什么!請(qǐng)?jiān)谠u(píng)論中告訴我。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11391

    瀏覽量

    211745
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    41826
  • VIM
    VIM
    +關(guān)注

    關(guān)注

    0

    文章

    135

    瀏覽量

    15482
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4865

    瀏覽量

    69750
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    811

    瀏覽量

    31490

原文標(biāo)題:開發(fā)人員為什么更喜歡 NeoVim 而不是 Vim

文章出處:【微信號(hào):Linux迷,微信公眾號(hào):Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的單線聚合(SWA)——適用于FPGA開發(fā)人員和非FPGA開發(fā)人員

    擁有FPGA設(shè)計(jì)經(jīng)驗(yàn)的開發(fā)者還能自定義該解決方案。即便沒有FPGA設(shè)計(jì)經(jīng)驗(yàn),開發(fā)人員依然能夠輕松快速完成部署。
    發(fā)表于 10-21 10:17 ?1876次閱讀
    基于FPGA的單線聚合(SWA)——適用于FPGA<b class='flag-5'>開發(fā)人員</b>和非FPGA<b class='flag-5'>開發(fā)人員</b>

    RemoTI基本遠(yuǎn)程開發(fā)人員指南

    `RemoTI基本遠(yuǎn)程開發(fā)人員指南目錄`
    發(fā)表于 03-16 16:28

    嵌入式開發(fā)人員需要重點(diǎn)監(jiān)控的五個(gè)重要特征

    (這是我喜歡的一種測(cè)試方法,幾乎百分之百不能一次通過(guò))時(shí),系統(tǒng)將如何響應(yīng)?! ⌒疫\(yùn)的是,現(xiàn)代微控制器有多種工具幫助開發(fā)人員理解嵌入式系統(tǒng)的時(shí)序和響應(yīng)。舉例來(lái)說(shuō),ARM微控制器有跟蹤功能,使開發(fā)人員可以
    發(fā)表于 03-02 13:23

    開發(fā)人員看的視頻

    英特爾?軟件頻道旨在通過(guò)向開發(fā)人員提供示例,教程,提示,技巧以及如何將開發(fā)人員與影響者,創(chuàng)新者聯(lián)系起來(lái),幫助他們。
    的頭像 發(fā)表于 11-01 06:26 ?2484次閱讀

    什么是英特爾開發(fā)人員專區(qū)

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

    WebVR:開發(fā)人員使用的資源介紹

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

    英特爾開發(fā)人員專區(qū):Android開發(fā)

    Android *英特爾?開發(fā)人員專區(qū)
    的頭像 發(fā)表于 05-31 09:37 ?3032次閱讀

    Intel開發(fā)人員專區(qū)

    Intel?開發(fā)人員專區(qū)
    的頭像 發(fā)表于 05-31 09:24 ?1730次閱讀

    開發(fā)人員的應(yīng)用程序和網(wǎng)絡(luò)安全

    ,揭示了網(wǎng)絡(luò)安全問題與涉及應(yīng)用程序的網(wǎng)絡(luò)安全支持之間的差距。報(bào)告發(fā)現(xiàn),大多數(shù)開發(fā)人員(85%)認(rèn)為安全性對(duì)于編碼和開發(fā)過(guò)程非常重要,75%的開發(fā)人員則表示他們對(duì)這些應(yīng)用程序的安全性感
    的頭像 發(fā)表于 11-22 11:01 ?3398次閱讀

    物聯(lián)網(wǎng)參考設(shè)計(jì)開發(fā)人員如何縮短設(shè)計(jì)周期

    滿足對(duì)速度的需求Ignion的開發(fā)環(huán)境也有助于物聯(lián)網(wǎng)參考設(shè)計(jì)人員、開發(fā)人員和最終的制造商縮短其設(shè)計(jì)周期。借助于Ignion的技術(shù),從數(shù)千種潛在可用的、彼此不同的天線中找到合適選項(xiàng)的過(guò)程,被縮減到從
    的頭像 發(fā)表于 11-01 10:14 ?2449次閱讀

    物聯(lián)網(wǎng)開發(fā)人員喜歡基于Arm的處理器

    對(duì) 1,700 多名物聯(lián)網(wǎng)開發(fā)人員的調(diào)查揭示了頂級(jí)硬件架構(gòu)和 IDE 選擇。 物聯(lián)網(wǎng)開發(fā)人員面臨著無(wú)數(shù)的硬件和軟件挑戰(zhàn),從連接要求和互操作性到安全問題和數(shù)據(jù)管理。此外,他們需要牢記許多設(shè)計(jì)限制,包括
    發(fā)表于 07-29 11:03 ?714次閱讀

    IoT 開發(fā)人員必須考慮設(shè)計(jì)和安全性

    IoT 開發(fā)人員必須考慮設(shè)計(jì)和安全性
    的頭像 發(fā)表于 01-03 09:45 ?604次閱讀

    IzoT BACnet 開發(fā)人員指南

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

    IzoT BACnet 開發(fā)人員指南

    IzoT BACnet 開發(fā)人員指南
    發(fā)表于 07-04 20:48 ?0次下載
    IzoT BACnet <b class='flag-5'>開發(fā)人員</b>指南

    MSPDebugStack開發(fā)人員指南

    電子發(fā)燒友網(wǎng)站提供《MSPDebugStack開發(fā)人員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-05 14:49 ?0次下載
    MSPDebugStack<b class='flag-5'>開發(fā)人員</b>指南

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品