自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vim 與 nano:你應(yīng)該選擇哪個(gè)?

系統(tǒng) Linux
是什么讓它們?nèi)绱耸軞g迎?你應(yīng)該選擇哪個(gè)作為你的文本編輯器?讓我指出一下 Vim 和 nano 的區(qū)別,以幫助你決定。

我們需要利用文本編輯器來做筆記、寫程序,或者編輯系統(tǒng)配置文件來完成一些事情。

不管你用來做什么,你的 Linux 發(fā)行版已經(jīng)預(yù)裝了文本編輯器。

你很可能會(huì)注意到一些 最好的現(xiàn)代文本編輯器,如 Gedit、Geany、Kate 等,它們已經(jīng)預(yù)裝在你的 Linux 發(fā)行版中。然而,這些都是基于 GUI 的程序。

如果你想通過終端訪問文本編輯器怎么辦?你應(yīng)該發(fā)現(xiàn)它也內(nèi)置在你的 Linux 發(fā)行版中了。

Vim 和 nano 是最流行的 CLI 文本編輯器 之二。

但是,是什么讓它們?nèi)绱耸軞g迎?你應(yīng)該選擇哪個(gè)作為你的文本編輯器?讓我指出一下 Vim 和 nano 的區(qū)別,以幫助你決定。

1、基于終端的編輯器介紹

nano 和 Vim 都提供了大部分的基本功能。雖然 nano 在大多數(shù) Linux 發(fā)行版上是內(nèi)置的,但你必須手動(dòng)安裝 Vim。

為了比較這兩者,讓我給你簡單介紹一下這兩者。

Vim

Vim 是 “Vi” 文本編輯器的改進(jìn)版,開發(fā)于 1991 年。Vim 是 “Vi 改進(jìn)版Vi IMproved” 的意思。

Vi 是一個(gè)基于終端的文本編輯器,最初于 1976 年為 Unix 操作系統(tǒng)而開發(fā)。Vim 是它的一個(gè)具有現(xiàn)代功能的增強(qiáng)版。

考慮到它的各種功能可以幫助編輯程序文件,它也被稱為“程序員的文本編輯器”。雖然它提供了一些高級(jí)功能,但你也可以用來編輯純文本文件。

GNU nano

GNU nano(我們?cè)谖恼轮蟹Q它為 “nano”)是一個(gè)簡單的基于終端的文本編輯器,其靈感來自于 Pico —— 這個(gè)基于 Unix 的文本編輯器是華盛頓大學(xué) 1989 年開發(fā)的 Pine 電子郵件套件的一部分。

Pico 文本編輯器沒有 GPL(許可證),這使得它很難被納入 Linux 發(fā)行版。

因此,nano 被開發(fā)出來作為它的自由軟件替代品。nano 編輯器最初被稱為 “tip”,然后在 Richard Stallman 宣布它成為正式的 GNU 程序之前重新命名為 nano。

這個(gè)編輯器的亮點(diǎn)是它的易用性和極小的學(xué)習(xí)曲線。你不一定需要成為程序員才能使用 nano。

2、功能差異

下面是 Vim 和 nano 的主要功能差異:

Vim 的主要特點(diǎn)


  • 多級(jí)撤銷
  • 語法高亮
  • 命令行編輯
  • 文件名補(bǔ)完
  • 多窗口和緩沖區(qū)
  • 折疊
  • 會(huì)話
  • 支持宏

nano 的主要特點(diǎn)


  • 打開多個(gè)文件
  • 逐行滾動(dòng)
  • 撤銷/重做
  • 語法著色
  • 行號(hào)

請(qǐng)注意,一般來說,Vim 提供了更高級(jí)的功能。然而,它們都提供了編輯系統(tǒng)配置文件、編程和文本編輯等基本功能。

3、用作文本編輯器

在 Vim 或 nano 中打開一個(gè)文件很簡單,只要輸入你想使用的編輯器的名字,然后再輸入文件的路徑。路徑可以是文件的絕對(duì)路徑,也可以是文件的相對(duì)路徑。

vim Documents/text.txt
nano Documents/text.txt

但是,除了用作文本編輯器訪問或打開一個(gè)文件之外,還有很多功能,對(duì)嗎?

如果你想快速比較一下,這里有一些基于我的使用情況的比較點(diǎn):

Vim:


  • 模式驅(qū)動(dòng)的編輯器
  • 在開始時(shí)有巨大的學(xué)習(xí)曲線
  • 會(huì)話恢復(fù)
  • 語法高亮/著色
  • 提供高級(jí)功能

nano:


  • 易于使用(經(jīng)常使用的功能及其組合鍵列在底部)
  • 不存在學(xué)習(xí)曲線
  • 旨在進(jìn)行快速編輯

nano 和 Vim 的主要區(qū)別在于,它們的目標(biāo)受眾非常不同。

Vim

Vim 是一個(gè)模式驅(qū)動(dòng)的編輯器。這意味著字母、數(shù)字和標(biāo)點(diǎn)符號(hào)鍵在按下時(shí)都要做一件獨(dú)特的事情,而不是在屏幕上打出一個(gè)字符。

這些模式包括:


  • 正常模式
  • 視覺模式
  • 插入模式
  • 命令行命令
  • 命令行編輯

默認(rèn)情況下,當(dāng)你啟動(dòng) Vim 時(shí),它以 正常 模式打開。每個(gè)鍵都有其獨(dú)特的功能,不會(huì)立即開始輸入所按下的字符。

不管什么模式,如果你愿意,你也可以 把 Vim 配置成一個(gè)寫作工具。

要知道更多關(guān)于這些有趣的事情,你可以參考我們關(guān)于 基本 Vim 命令 以及 Vim 技巧和竅門 的文章。

當(dāng)你啟動(dòng) Vim(無參數(shù))時(shí)的終端屏幕

在正常模式下,按特定的鍵會(huì)移動(dòng)你的光標(biāo)。

例如,如果你按下 ??l??(小寫字母 L),它將把光標(biāo)向右移動(dòng)一個(gè)字符,按 ??h?? 鍵將把光標(biāo)向左移動(dòng)一個(gè)字符。

如果你想把光標(biāo)向下移動(dòng)一行,你就按 ??j?? 鍵,如果要把光標(biāo)向上移動(dòng)一行,你應(yīng)該按 ??k?? 鍵。

在正常模式下 ??l??、??k??、??j??、??h?? 是導(dǎo)航鍵。雖然你可以用方向鍵來移動(dòng),但這樣做更有效率。

這些是 Vim 中的基本導(dǎo)航鍵。

接下來最常用的鍵是 ??w??、??b??、??e??:


  • 按 ??w?? 鍵可將光標(biāo)移到下一個(gè)詞。如果它已經(jīng)在一個(gè)詞的開頭,它就會(huì)移動(dòng)到下一個(gè)詞的開頭。
  • 按 ??b?? 鍵,光標(biāo)會(huì)移到左邊的詞的開頭。
  • 而 ??e?? 鍵,則將光標(biāo)移到右邊的詞的末尾。

你甚至可以用這些鍵混合數(shù)字(作為前綴)。例如,按 ??6w?? 可以將光標(biāo)向前(向右)移動(dòng)六個(gè)詞。

如果你想進(jìn)入一個(gè)模式,你必須按類似的組合鍵:


  • ??i?? 為插入模式
  • ??CTRL+C?? 回到正常模式
  • ??:wq?? 寫入文件并關(guān)閉窗口。

最后,我們已經(jīng) 列出了退出 Vim 的多種方法,如果你想了解一下的話。

這只是冰山一角。要學(xué)習(xí)更多關(guān)于 Vim 的知識(shí),你可以使用??vimtutor?? 命令,它可以給你提供大多數(shù)基本命令的信息,如刪除、編輯、保存文件等。

GNU nano

nano 有一個(gè)基本的交互界面,在窗口的底部給你提供關(guān)鍵信息。

要想有個(gè)初步的了解,你可以參考我們的 nano 編輯器指南。

![Terminal screen when you launch nano without argumentswithoutarguments] 13

你不需要參考手冊(cè)頁或任何文檔來執(zhí)行基本操作。這就是為什么與 Vim 相比,nano 被認(rèn)為是用戶友好的。

盡管如此,nano 中使用的一些術(shù)語仍然是“舊術(shù)語”,一個(gè)例子是 “寫出Write Out”、“在哪里Where Is”短語,而不是分別用“保存Save”和“查找Find”。

但是,這并不是什么大問題。

雖然很容易習(xí)慣,但它與使用記事本或 Gedit(GUI 程序)并不完全相同。

例如,在大多數(shù)現(xiàn)代編輯器中,執(zhí)行剪切操作的組合鍵通常是 ??Ctrl + X??,但在 nano 中,它是 ??Ctrl + K??。

符號(hào) ??^?? 是用來表示將 ??Ctrl?? 鍵作為修飾鍵使用,并與旁邊的鍵組合使用。

你還可以找到像 ??Ctrl + F??(將光標(biāo)向前移動(dòng))、??Ctrl + B??(將光標(biāo)向后移動(dòng))這樣的組合鍵。一些快捷鍵包括:


  • ??Ctrl + X?? 退出
  • ??Ctrl + O?? 寫入(或保存為)
  • ??Alt + U?? 撤銷上一個(gè)動(dòng)作
  • ??Ctrl + ←?? 向后退一個(gè)字
  • ??Ctrl + →?? 向前進(jìn)一個(gè)字

你可以看看 GNU nano 的官方速查表 來學(xué)習(xí)更多的快捷鍵。

總的來說,nano 是一個(gè)更適合初學(xué)者的編輯器,當(dāng)你只想偶爾編輯一個(gè)文件時(shí),它可以簡單地讓你完成。

4、學(xué)習(xí)曲線

考慮到上面的所有信息,你一定已經(jīng)意識(shí)到 Vim 與你所習(xí)慣的傳統(tǒng)文本編輯器不同。

這是真的,這就是為什么 Vim 在學(xué)習(xí)的初始階段會(huì)顯得很艱難。

然而,對(duì)于高級(jí)用戶來說,使用宏、自動(dòng)補(bǔ)完等高級(jí)能力很重要,可以節(jié)省時(shí)間。

因此,如果你是一個(gè)程序員,或者碰巧經(jīng)常編輯許多文件,Vim 的學(xué)習(xí)曲線可能是富有成效的。

另一方面,nano 提供了極小的學(xué)習(xí)曲線,而且感覺比基于圖形用戶界面的文本編輯器如 Gedit 或 Notepad 更讓你熟悉。

哪個(gè)是最適合你的?

Vim 和 nano 都是合格的基于終端的文本編輯器。但是,當(dāng)涉及到你如何與上述編輯器互動(dòng)和使用時(shí),它們有很大的不同。

Vim 很靈活,可以適應(yīng)各種工作流程,前提是你已經(jīng)習(xí)慣了它的工作方式。

相比之下,nano 工作起來很簡單,可以幫助你編輯任何你想要的東西。

如果你還不確定,我建議先開始使用 nano。而且,如果你認(rèn)為你需要更快地完成工作,并且想要更多的功能,那么就換成 Vim。

常見的問題

繼續(xù),讓我來談?wù)剮讉€(gè)問題,這將有助于你獲得一個(gè)良好的開端。

Vim 比 nano 好嗎?

從技術(shù)上講,是的。但是,如果你不需要它提供的所有功能,使用起來可能會(huì)感到力不從心。

程序員是否使用 Vim?

系統(tǒng)管理員和程序員喜歡 Vim 的高級(jí)功能。所以,是的,他們傾向于使用它。

nano 是否更受歡迎?

可以說是的。nano 是一個(gè)基于終端的編輯器,被大多數(shù)用戶使用。此外,它還內(nèi)置在大多數(shù) Linux 發(fā)行版中。

因此,它在用戶中普遍受歡迎,而 Vim 仍然是一個(gè)為特定人群服務(wù)的編輯器。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2019-12-17 09:36:16

JavaPython編程語言

2021-11-02 08:40:42

VS CodeAtom開源

2016-06-22 09:01:31

Linux MintUbuntu發(fā)行版

2019-07-05 15:45:39

UbuntuFedoraLinux

2023-11-30 07:43:14

消息隊(duì)列架構(gòu)

2021-11-12 05:45:12

云數(shù)據(jù)庫云計(jì)算

2024-05-17 13:48:19

2023-06-25 13:00:04

2016-06-27 16:37:25

Linux51CTOIT技術(shù)周刊

2015-11-05 09:26:34

Fedora發(fā)行版Linux

2021-08-14 09:04:58

TypeScriptJavaScript開發(fā)

2021-05-08 14:00:58

FedoraLinux

2021-08-15 21:36:00

框架開發(fā)JavaScript

2019-03-12 18:33:57

樹莓派Linux

2022-05-24 13:08:55

GNOMEKDELinux

2021-06-16 09:10:29

APP開發(fā)AndroidiOS

2020-12-23 10:46:35

編程語言C語言Java

2020-12-17 09:44:02

前端開發(fā)后端

2018-01-26 10:39:29

2021-01-05 08:35:24

GNU nanoVim編輯器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)