我們需要利用文本編輯器來做筆記、寫程序,或者編輯系統(tǒng)配置文件來完成一些事情。
不管你用來做什么,你的 Linux 發(fā)行版已經(jīng)預裝了文本編輯器。
你很可能會注意到一些 最好的現(xiàn)代文本編輯器,如 Gedit、Geany、Kate 等,它們已經(jīng)預裝在你的 Linux 發(fā)行版中。然而,這些都是基于 GUI 的程序。
如果你想通過終端訪問文本編輯器怎么辦?你應該發(fā)現(xiàn)它也內(nèi)置在你的 Linux 發(fā)行版中了。
Vim 和 nano 是最流行的 CLI 文本編輯器 之二。
但是,是什么讓它們?nèi)绱耸軞g迎?你應該選擇哪個作為你的文本編輯器?讓我指出一下 Vim 和 nano 的區(qū)別,以幫助你決定。
1、基于終端的編輯器介紹
nano 和 Vim 都提供了大部分的基本功能。雖然 nano 在大多數(shù) Linux 發(fā)行版上是內(nèi)置的,但你必須手動安裝 Vim。
為了比較這兩者,讓我給你簡單介紹一下這兩者。
Vim
Vim 是 “Vi” 文本編輯器的改進版,開發(fā)于 1991 年。Vim 是 “Vi 改進版Vi IMproved” 的意思。
Vi 是一個基于終端的文本編輯器,最初于 1976 年為 Unix 操作系統(tǒng)而開發(fā)。Vim 是它的一個具有現(xiàn)代功能的增強版。
考慮到它的各種功能可以幫助編輯程序文件,它也被稱為“程序員的文本編輯器”。雖然它提供了一些高級功能,但你也可以用來編輯純文本文件。
GNU nano
GNU nano(我們在文章中稱它為 “nano”)是一個簡單的基于終端的文本編輯器,其靈感來自于 Pico —— 這個基于 Unix 的文本編輯器是華盛頓大學 1989 年開發(fā)的 Pine 電子郵件套件的一部分。
Pico 文本編輯器沒有 GPL(許可證),這使得它很難被納入 Linux 發(fā)行版。
因此,nano 被開發(fā)出來作為它的自由軟件替代品。nano 編輯器最初被稱為 “tip”,然后在 Richard Stallman 宣布它成為正式的 GNU 程序之前重新命名為 nano。
這個編輯器的亮點是它的易用性和極小的學習曲線。你不一定需要成為程序員才能使用 nano。
2、功能差異
下面是 Vim 和 nano 的主要功能差異:
Vim 的主要特點
多級撤銷
語法高亮
命令行編輯
文件名補完
多窗口和緩沖區(qū)
折疊
會話
支持宏
nano 的主要特點
打開多個文件
逐行滾動
撤銷/重做
語法著色
行號
請注意,一般來說,Vim 提供了更高級的功能。然而,它們都提供了編輯系統(tǒng)配置文件、編程和文本編輯等基本功能。
3、用作文本編輯器
在 Vim 或 nano 中打開一個文件很簡單,只要輸入你想使用的編輯器的名字,然后再輸入文件的路徑。路徑可以是文件的絕對路徑,也可以是文件的相對路徑。
vimDocuments/text.txt nanoDocuments/text.txt
但是,除了用作文本編輯器訪問或打開一個文件之外,還有很多功能,對嗎?
如果你想快速比較一下,這里有一些基于我的使用情況的比較點:
Vim:
模式驅動的編輯器
在開始時有巨大的學習曲線
會話恢復
語法高亮/著色
提供高級功能
nano:
易于使用(經(jīng)常使用的功能及其組合鍵列在底部)
不存在學習曲線
旨在進行快速編輯
nano 和 Vim 的主要區(qū)別在于,它們的目標受眾非常不同。
Vim
Vim 是一個模式驅動的編輯器。這意味著字母、數(shù)字和標點符號鍵在按下時都要做一件獨特的事情,而不是在屏幕上打出一個字符。
這些模式包括:
正常模式
視覺模式
插入模式
命令行命令
命令行編輯
默認情況下,當你啟動 Vim 時,它以 正常 模式打開。每個鍵都有其獨特的功能,不會立即開始輸入所按下的字符。
不管什么模式,如果你愿意,你也可以把 Vim 配置成一個寫作工具。
當你啟動 Vim(無參數(shù))時的終端屏幕
在正常模式下,按特定的鍵會移動你的光標。
例如,如果你按下 l(小寫字母 L),它將把光標向右移動一個字符,按 h 鍵將把光標向左移動一個字符。
如果你想把光標向下移動一行,你就按 j 鍵,如果要把光標向上移動一行,你應該按 k 鍵。
在正常模式下 l、k、j、h 是導航鍵。雖然你可以用方向鍵來移動,但這樣做更有效率。
這些是 Vim 中的基本導航鍵。
接下來最常用的鍵是 w、b、e:
按 w 鍵可將光標移到下一個詞。如果它已經(jīng)在一個詞的開頭,它就會移動到下一個詞的開頭。
按 b 鍵,光標會移到左邊的詞的開頭。
而 e 鍵,則將光標移到右邊的詞的末尾。
你甚至可以用這些鍵混合數(shù)字(作為前綴)。例如,按 6w 可以將光標向前(向右)移動六個詞。
如果你想進入一個模式,你必須按類似的組合鍵:
i 為插入模式
CTRL+C 回到正常模式
:wq 寫入文件并關閉窗口。
最后,我們已經(jīng) 列出了退出 Vim 的多種方法[1],如果你想了解一下的話。
這只是冰山一角。要學習更多關于 Vim 的知識,你可以使用vimtutor 命令,它可以給你提供大多數(shù)基本命令的信息,如刪除、編輯、保存文件等。
GNU nano
nano 有一個基本的交互界面,在窗口的底部給你提供關鍵信息。
![Terminal screen when you launch nano without argumentswithoutarguments] 13
你不需要參考手冊頁或任何文檔來執(zhí)行基本操作。這就是為什么與 Vim 相比,nano 被認為是用戶友好的。
盡管如此,nano 中使用的一些術語仍然是“舊術語”,一個例子是 “寫出Write Out”、“在哪里Where Is”短語,而不是分別用“保存Save”和“查找Find”。
但是,這并不是什么大問題。
雖然很容易習慣,但它與使用記事本或 Gedit(GUI 程序)并不完全相同。
例如,在大多數(shù)現(xiàn)代編輯器中,執(zhí)行剪切操作的組合鍵通常是 Ctrl + X,但在 nano 中,它是 Ctrl + K。
符號 ^ 是用來表示將 Ctrl 鍵作為修飾鍵使用,并與旁邊的鍵組合使用。
你還可以找到像 Ctrl + F(將光標向前移動)、Ctrl + B(將光標向后移動)這樣的組合鍵。一些快捷鍵包括:
Ctrl + X 退出
Ctrl + O 寫入(或保存為)
Alt + U 撤銷上一個動作
Ctrl + ← 向后退一個字
Ctrl + → 向前進一個字
你可以看看 GNU nano 的官方速查表[2] 來學習更多的快捷鍵。
總的來說,nano 是一個更適合初學者的編輯器,當你只想偶爾編輯一個文件時,它可以簡單地讓你完成。
4、學習曲線
考慮到上面的所有信息,你一定已經(jīng)意識到 Vim 與你所習慣的傳統(tǒng)文本編輯器不同。
這是真的,這就是為什么 Vim 在學習的初始階段會顯得很艱難。
然而,對于高級用戶來說,使用宏、自動補完等高級能力很重要,可以節(jié)省時間。
因此,如果你是一個程序員,或者碰巧經(jīng)常編輯許多文件,Vim 的學習曲線可能是富有成效的。
另一方面,nano 提供了極小的學習曲線,而且感覺比基于圖形用戶界面的文本編輯器如 Gedit 或 Notepad 更讓你熟悉。
哪個是最適合你的?
Vim 和 nano 都是合格的基于終端的文本編輯器。但是,當涉及到你如何與上述編輯器互動和使用時,它們有很大的不同。
Vim 很靈活,可以適應各種工作流程,前提是你已經(jīng)習慣了它的工作方式。
相比之下,nano 工作起來很簡單,可以幫助你編輯任何你想要的東西。
如果你還不確定,我建議先開始使用 nano。而且,如果你認為你需要更快地完成工作,并且想要更多的功能,那么就換成 Vim。
常見的問題
繼續(xù),讓我來談談幾個問題,這將有助于你獲得一個良好的開端。
Vim 比 nano 好嗎?
從技術上講,是的。但是,如果你不需要它提供的所有功能,使用起來可能會感到力不從心。
程序員是否使用 Vim?
系統(tǒng)管理員和程序員喜歡 Vim 的高級功能。所以,是的,他們傾向于使用它。
nano 是否更受歡迎?
可以說是的。nano 是一個基于終端的編輯器,被大多數(shù)用戶使用。此外,它還內(nèi)置在大多數(shù) Linux 發(fā)行版中。
因此,它在用戶中普遍受歡迎,而 Vim 仍然是一個為特定人群服務的編輯器。
原文標題:Vim 與 nano:你應該選擇哪個?
文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
-
Linux
+關注
關注
87文章
11225瀏覽量
208911 -
程序員
+關注
關注
4文章
949瀏覽量
29761 -
編輯器
+關注
關注
1文章
801瀏覽量
31114
原文標題:Vim 與 nano:你應該選擇哪個?
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論