久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 開發(fā)人員為什么更喜歡NeoVim而不是Vim?

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

來源:千鋒教育
發(fā)布人:syq
時間: 2023-01-17 10:11:00 1673921460

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

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

開發(fā)人員為什么更喜歡NeoVim

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

  你可能想知道“Vim 如此流行,尤其是因?yàn)?lsquo;我已經(jīng)無法退出 Vim 了’,Vim 將成為用戶的首選。為什么有人會分叉 Vim 并冒著浪費(fèi)開發(fā)時間呢?”

  這個問題提的好。Vim 真的很受歡迎!但這并不意味著開發(fā) Vim 的社區(qū)對項(xiàng)目本身的狀態(tài)感到滿意。

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

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

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

31

  2、代碼自動完成(LSP)

  LSP 或語言服務(wù)器協(xié)議是一種協(xié)議,它定義了編輯器如何與“語言服務(wù)器”通信以啟用代碼突出顯示、語法檢查、代碼完成、嵌入提示、類型提示等選項(xiàng)。

  無論您是多么優(yōu)秀的開發(fā)人員,在編輯器中獲得類型提示、錯誤突出顯示等功能都可能不會讓您成為更好的開發(fā)人員。盡管如此,它無疑會減少您的開發(fā)和/或調(diào)試時間。Neovim 附帶了對 LSP 的開箱即用支持,并使用 Lua 進(jìn)行進(jìn)一步配置。然而,Vim 需要一個外部插件來實(shí)現(xiàn)這個功能。

  3、支持更好的插件

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

  Vim 已經(jīng)擁有豐富的插件支持和生態(tài)系統(tǒng),以至于有專為 Vim 設(shè)計(jì)的插件管理器!

  但是 Neovim 通過允許插件使用“更通用的語言”在 Lua 中編寫插件來超越 Vim 。

  并不是說 Vim 的內(nèi)置語言不好,而是如果您想要類似 IDE 的功能,設(shè)置會變得很復(fù)雜。而且,對于實(shí)際的編程語言,這種配置比 Vim 更容易。

  這意味著您甚至可以擴(kuò)展或修改核心的 Neovim功能。

  這是Neovim 專用的插件列表,因?yàn)?Vim 不提供類似級別的可擴(kuò)展性。

32

  4、并行啟動

  我在上面討論過,Neovim 使用 Lua 作為插件配置的可選但附加的語言。但是你知道 Neovim 并行啟動每個插件嗎?

  這應(yīng)該會讓你感覺使用 Neovim 更快,特別是如果你有需要幾秒鐘初始化的插件!

  5、能夠嵌入編輯器

  由于 Neovim 編輯器的代碼庫比 Vim 更容易維護(hù),將核心編輯器嵌入到其他東西中的可能性成為現(xiàn)實(shí)。

  你現(xiàn)在終于可以在 VS Code 中擁有一個好的編輯器。

  6、配置文件的位置

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

  大多數(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)存儲在~/.config目錄中。Neovim 堅(jiān)持這一點(diǎn),主要配置文件 ( init.nvim) 存儲在~/.config/nvim/目錄中。

  這是一個小問題,但在備份計(jì)算機(jī)上的重要文件時,它的重要性很高。

33

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

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

34

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

  找到與模式匹配的行

  復(fù)制到寄存器

  刪除行

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

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

35

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

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

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

  autoindent默認(rèn)啟用

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

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

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

  結(jié)論

  Vim 的創(chuàng)建是為了改進(jìn)現(xiàn)有的 Vi 編輯器。它代表 V 改進(jìn)。同樣,NeoVim 的創(chuàng)建是為了改進(jìn)現(xiàn)有的 Vim 編輯器。它代表新 Vim。

  自從我嘗試并愉快地將我所有的 Vim 配置遷移到 Neovim以來,我已經(jīng)成為 Vim 用戶兩年了。本文概述了為什么有人會選擇 Neovim 而不是傳統(tǒng)的 Vim。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
工業(yè)機(jī)器人、自動化、PLC三者是什么關(guān)系?

一、工業(yè)機(jī)器人和自動化工業(yè)機(jī)器人是自動化技術(shù)的一部分,是自動化生產(chǎn)線的關(guān)鍵組件之一。在自動化生產(chǎn)線中,工業(yè)機(jī)器人被廣泛應(yīng)用于執(zhí)行各種任...詳情>>

2023-10-15 01:41:38
為什么Redis要對一種數(shù)據(jù)類型存儲兩次呢?

一、實(shí)現(xiàn)快速數(shù)據(jù)訪問Redis是一種高性能的內(nèi)存數(shù)據(jù)庫,將數(shù)據(jù)存儲在內(nèi)存中可以實(shí)現(xiàn)非常快速的數(shù)據(jù)讀取和訪問。為了進(jìn)一步提高數(shù)據(jù)的訪問速度,R...詳情>>

2023-10-15 01:40:32
什么是編程思想?

一、編程思想的定義和理念編程思想可以理解為一套指導(dǎo)編程活動的理念和原則。它包括如何定義問題,如何設(shè)計(jì)解決方案,以及如何實(shí)現(xiàn)和測試這個解...詳情>>

2023-10-15 01:22:38
迭代開發(fā)模型中最容易出問題的階段是什么?

一、迭代開發(fā)模型中最容易出問題的階段是什么 在迭代開發(fā)模型中,最容易出問題的階段通常是需求收集和分析階段。在這個階段,開發(fā)團(tuán)隊(duì)需要與客...詳情>>

2023-10-15 01:03:52
軟件測試中bug管理工具Jira怎么樣?

一、Jira是什么 Jira是一款由澳大利亞軟件公司Atlassian開發(fā)的項(xiàng)目管理和問題跟蹤工具。它是一種用于敏捷項(xiàng)目開發(fā)和軟件開發(fā)過程中的工具,廣泛...詳情>>

2023-10-15 01:02:32