Vim vs Nano:你应该选择什么?

我们需要使用文本编辑器来做笔记、编写程序或编辑系统配置文件来完成一些事情。

无论要求怎样,您的 Linux 发行版都已预装了文本编辑器。

您很可能会注意到一些最好的现代文本编辑器,例如 Gedit、Geany、Kate 等,它们预装在您的 Linux 发行版中。 但是,这些都是基于 GUI 的程序。

如果您想通过终端访问文本编辑器怎么办? 您还应该发现它内置在您的 Linux 发行版中。

Vim 和 Nano 是一些最流行的 CLI 文本编辑器。

但是,是什么让它们如此受欢迎? 您应该选择什么作为文本编辑器? 让我强调一下 Vim 和 nano 之间的区别,以帮助您做出决定。

1. 介绍基于终端的编辑器

nano 和 Vim 提供了大部分基本功能。 虽然 nano 内置在大多数 Linux 发行版中,但您必须手动安装 Vim。

为了比较两者,让我给你一个简单的介绍。

维姆

Vim 是 1991 年开发的“Vi”文本编辑器的改进版本。因此,Vim 代表“Vi 改进”

Vi 最初是 1976 年为 Unix 操作系统开发的基于终端的文本编辑器。因此,Vim 是它的增强版本,具有现代功能。

它也被称为“程序员的文本编辑器”,因为它具有可以帮助编辑程序文件的各种功能。 虽然它提供了一些高级功能,但您还可以编辑纯文本文件。

GNU纳米

GNU nano(或者我们在整篇文章中都称它为“nano”)是一个简单的基于终端的文本编辑器,其灵感来自 Pico。 这个基于 Unix 的文本编辑器是华盛顿大学 1989 年开发的 Pine 电子邮件套件的一部分。

Pico 文本编辑器没有 GPL(许可证),这使得它很难包含在 Linux 发行版中。

因此,nano 是作为它的免费替代品而开发的。 nano 编辑器最初被称为“tip”,然后在 Richard Stallman 宣布它为官方 GNU 程序之前重新命名。

这个编辑器的显着亮点是它的易用性和最小的学习曲线。 您不一定需要成为程序员才能使用 nano。

2. 功能差异

这是 Vim 和 nano 之间的主要功能差异。

Vim 的主要特点

  • 多级撤消
  • 语法高亮
  • 命令行编辑
  • 文件名完成
  • 多窗口和缓冲区
  • 折叠
  • 会话

纳米的主要特点

  • 打开多个文件
  • 每行滚动
  • 撤销重做
  • 语法着色
  • 行号

请注意,一般来说,Vim 提供了更高级的功能。 但是,它们都提供了编辑系统配置文件、编程和文本编辑的基本要素。

3. 使用文本编辑器

在 Vim 或 nano 中打开文件就像输入要使用的编辑器的名称,然后输入文件的路径一样简单。 路径可以是文件的绝对路径或相对路径:

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

但不仅仅是使用文本编辑器访问或打开文件,对吧?

如果你想要一个快速的列表,这里有一些基于我的使用的比较点:

维姆

  • 模式驱动的编辑器
  • 一开始就有巨大的学习曲线
  • 会话恢复
  • 语法高亮/着色
  • 提供高级功能

纳米

  • 易于使用(常用功能及其组合键列在底部)
  • 不存在的学习曲线
  • 用于快速编辑

nano 和 Vim 之间的主要区别在于目标受众非常不同。

维姆

Vim 是一个模式驱动的编辑器。 这意味着字母、数字和标点符号键在按下时都必须做一件独特的事情——而不是在屏幕上输入一个字符。

模式包括:

  • 正常模式
  • 视觉模式
  • 插入模式
  • 命令行命令
  • 命令行编辑

默认情况下,当你启动 Vim 时,它会在 普通的 模式。 每个键都有其独特的功能,不会立即开始输入所按下的字符。

即使在所有模式下,您也可以根据需要将 Vim 配置为写作工具。

要了解更多关于这些令人兴奋的事情,您可以参考我们的资源 基本的 Vim 命令 和 Vim 提示和技巧文章。

启动 Vim 时的终端屏幕(不带参数)

在正常模式下,按特定键将移动光标。

为了 example,如果你按’l’(小写L),它会将光标向右移动一个字符,按’h’键将光标向左移动一个字符。

如果要将光标向下移动一行,请按“j”键,如果要将光标向后移动一行,则应按“k”键。

制造 l+k+j+h 正常模式下的导航键。 虽然您可以使用箭头键四处移动,但这种方式更有效。

这些是 Vim 中的基本导航键。

下一个最常用的键是’w’、’b’、’e’.

  • 按’w‘ 键将光标移动到下一个单词。 如果它已经在一个单词的开头,它会移动到下一个单词的开头。
  • 按’b‘ 键将光标移动到左侧单词的开头。
  • 并且,“e”键将光标移动到右侧单词的末尾。

您甚至可以将数字(作为前缀)与这些键混合。 例如,按“6w”会将光标向前移动六个字。

如果你想进入一个模式,你将不得不按如下组合键:

  • 一世 对于插入模式
  • CTRL+C 回到正常模式
  • :wq 用于写入文件并关闭窗口

最后,如果你好奇的话,我们列出了多种退出 Vim 的方法。

这只是冰山一角。 要了解有关 Vim 的更多信息,您可以使用 导师 命令为您提供有关删除、编辑、保存文件等的大多数基本命令的信息。

GNU纳米

Nano 有一个基本的交互界面,在窗口底部为您提供关键信息。

要抢占先机,您可以参考我们的 nano 编辑器指南。

启动 nano 时的终端屏幕(不带参数)

您无需参考手册页或任何文档即可执行基本操作。 这就是为什么 nano 被认为是用户友好的,与 Vim 相比。

话虽如此,nano 中使用的一些术语仍然是“旧术语”—— example 是“写出来”,“在哪里”短语而不是“Save”和“查找”。

但是,这没什么大不了的。

虽然很容易习惯,但它与使用记事本或 Gedit(GUI 程序)并不完全相同。

为了 example,在大多数现代编辑器中执行剪切操作的组合键通常是“Ctrl + X”,但在 nano 中,它是“Ctrl + K”。

这 ”^” 符号用于表示将 Ctrl 键用作修饰键,并与旁边的键组合使用。

您还可以找到组合键,例如 Ctrl + F(向前移动光标)、Ctrl + B(向后导航)。 一些快捷方式包括:

  • Ctrl + X 退出
  • Ctrl + O 写(或另存为)
  • Alt + U 撤消上一个操作
  • Ctrl + ← 倒退一字
  • Ctrl + → 向前一字

你可以看看 GNU Nano 的官方备忘单 了解更多快捷方式。

总的来说,nano 是一个对初学者更友好的编辑器,当你只想偶尔编辑一个文件时,它就不会妨碍你。

4. 学习曲线

考虑到以上所有信息,您一定已经意识到 Vim 与您习惯的传统文本编辑器不同。

的确如此,这就是为什么 Vim 在学习的初始阶段看起来很难的原因。

但是,对于高级用户来说,使用宏、自动完成等高级功能很重要,并且可以节省时间。

因此,如果您是一名程序员,或者碰巧经常编辑大量文件,那么 Vim 的学习曲线会很有成效。

另一方面,nano 提供了最小的学习曲线,并且对于基于 GUI 的文本编辑器(如 Gedit 或记事本)更熟悉。

什么对你最好? Vim 与纳米

Vim 和 nano 都是功能强大的基于终端的文本编辑器。 但是当涉及到您希望怎样与所述编辑器交互和使用时,它们有很大的不同。

Vim 很灵活,可以适应各种工作流程,前提是您已经习惯了它的工作方式。

相比之下,nano 使用起来很简单,可以帮助你编辑任何你想要的东西。

如果您仍然不确定,我建议您先开始使用 nano。 而且,如果您认为您需要更快地完成工作,并且想要更多功能,请切换到 Vim。

经常问的问题

展望未来,让我来解决一些有助于您抢占先机的问题:

Vim 比 nano 更好吗?

从技术上讲,是的。 但是,如果您不需要它提供的所有功能,使用它可能会让人感到不知所措。

程序员使用 Vim 吗?

系统管理员和程序员喜欢 Vim 的高级功能。 所以,是的,他们倾向于使用它。

纳米更受欢迎?

可以说是的。 Nano 是大多数用户使用的基于终端的编辑器。 此外,它内置于大多数 Linux 发行版中。

因此,它通常在用户中很受欢迎,而 Vim 仍然是特定人群的编辑器。