0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于终端的Linux 编辑器

Linux爱好者 来源:Linux中国 作者:Linux中国 2022-03-30 17:42 次阅读

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

不管你用来做什么,你的 Linux 发行版已经预装了文本编辑器。

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

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

Vim 和 nano 是最流行的 CLI 文本编辑器 之二。

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

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

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

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

Vim

4763b8a0-adc4-11ec-aa7f-dac502259ad0.jpg

Vim 是 “Vi” 文本编辑器的改进版,开发于 1991 年。Vim 是 “Vi 改进版Vi IMproved” 的意思。

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

考虑到它的各种功能可以帮助编辑程序文件,它也被称为“程序员的文本编辑器”。虽然它提供了一些高级功能,但你也可以用来编辑纯文本文件。

GNU nano

4778b840-adc4-11ec-aa7f-dac502259ad0.jpg

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

Pico 文本编辑器没有 GPL(许可证),这使得它很难被纳入 Linux 发行版。

因此,nano 被开发出来作为它的自由软件替代品。nano 编辑器最初被称为 “tip”,然后在 Richard Stallman 宣布它成为正式的 GNU 程序之前重新命名为 nano。

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

2、功能差异

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

Vim 的主要特点

多级撤销

语法高亮

命令行编辑

文件名补完

多窗口和缓冲区

折叠

会话

支持宏

nano 的主要特点

打开多个文件

逐行滚动

撤销/重做

语法着色

行号

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

3、用作文本编辑器

在 Vim 或 nano 中打开一个文件很简单,只要输入你想使用的编辑器的名字,然后再输入文件的路径。路径可以是文件的绝对路径,也可以是文件的相对路径。

vimDocuments/text.txt
nanoDocuments/text.txt

但是,除了用作文本编辑器访问或打开一个文件之外,还有很多功能,对吗?

如果你想快速比较一下,这里有一些基于我的使用情况的比较点:

Vim:

模式驱动的编辑器

在开始时有巨大的学习曲线

会话恢复

语法高亮/着色

提供高级功能

nano:

易于使用(经常使用的功能及其组合键列在底部)

不存在学习曲线

旨在进行快速编辑

nano 和 Vim 的主要区别在于,它们的目标受众非常不同。

Vim

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

这些模式包括:

正常模式

视觉模式

插入模式

命令行命令

命令行编辑

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

不管什么模式,如果你愿意,你也可以把 Vim 配置成一个写作工具。

478e6bea-adc4-11ec-aa7f-dac502259ad0.jpg当你启动 Vim(无参数)时的终端屏幕

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

例如,如果你按下 l(小写字母 L),它将把光标向右移动一个字符,按 h 键将把光标向左移动一个字符。

如果你想把光标向下移动一行,你就按 j 键,如果要把光标向上移动一行,你应该按 k 键。

在正常模式下 l、k、j、h 是导航键。虽然你可以用方向键来移动,但这样做更有效率。

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

接下来最常用的键是 w、b、e:

按 w 键可将光标移到下一个词。如果它已经在一个词的开头,它就会移动到下一个词的开头。

按 b 键,光标会移到左边的词的开头。

而 e 键,则将光标移到右边的词的末尾。

你甚至可以用这些键混合数字(作为前缀)。例如,按 6w 可以将光标向前(向右)移动六个词。

如果你想进入一个模式,你必须按类似的组合键:

i 为插入模式

CTRL+C 回到正常模式

:wq 写入文件并关闭窗口。

最后,我们已经 列出了退出 Vim 的多种方法[1],如果你想了解一下的话。

这只是冰山一角。要学习更多关于 Vim 的知识,你可以使用vimtutor 命令,它可以给你提供大多数基本命令的信息,如删除、编辑、保存文件等。

479fe7f8-adc4-11ec-aa7f-dac502259ad0.png

GNU nano

nano 有一个基本的交互界面,在窗口的底部给你提供关键信息。

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

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

尽管如此,nano 中使用的一些术语仍然是“旧术语”,一个例子是 “写出Write Out”、“在哪里Where Is”短语,而不是分别用“保存Save”和“查找Find”。

但是,这并不是什么大问题。

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

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

符号 ^ 是用来表示将 Ctrl 键作为修饰键使用,并与旁边的键组合使用。

你还可以找到像 Ctrl + F(将光标向前移动)、Ctrl + B(将光标向后移动)这样的组合键。一些快捷键包括:

Ctrl + X 退出

Ctrl + O 写入(或保存为)

Alt + U 撤销上一个动作

Ctrl + ← 向后退一个字

Ctrl + → 向前进一个字

你可以看看 GNU nano 的官方速查表[2] 来学习更多的快捷键。

总的来说,nano 是一个更适合初学者的编辑器,当你只想偶尔编辑一个文件时,它可以简单地让你完成。

4、学习曲线

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

这是真的,这就是为什么 Vim 在学习的初始阶段会显得很艰难。

然而,对于高级用户来说,使用宏、自动补完等高级能力很重要,可以节省时间。

因此,如果你是一个程序员,或者碰巧经常编辑许多文件,Vim 的学习曲线可能是富有成效的。

另一方面,nano 提供了极小的学习曲线,而且感觉比基于图形用户界面的文本编辑器如 Gedit 或 Notepad 更让你熟悉。

哪个是最适合你的?

Vim 和 nano 都是合格的基于终端的文本编辑器。但是,当涉及到你如何与上述编辑器互动和使用时,它们有很大的不同。

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

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

如果你还不确定,我建议先开始使用 nano。而且,如果你认为你需要更快地完成工作,并且想要更多的功能,那么就换成 Vim。

常见的问题

继续,让我来谈谈几个问题,这将有助于你获得一个良好的开端。

Vim 比 nano 好吗?

从技术上讲,是的。但是,如果你不需要它提供的所有功能,使用起来可能会感到力不从心。

程序员是否使用 Vim?

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

nano 是否更受欢迎?

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

因此,它在用户中普遍受欢迎,而 Vim 仍然是一个为特定人群服务的编辑器。

原文标题:Vim 与 nano:你应该选择哪个?

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209318
  • 程序员
    +关注

    关注

    4

    文章

    951

    浏览量

    29795
  • 编辑器
    +关注

    关注

    1

    文章

    805

    浏览量

    31163

原文标题:Vim 与 nano:你应该选择哪个?

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux中vi、vim编辑器常用的技巧

    今天浩道跟大家分享硬核干货,关于linux中vi、vim编辑器常用的技巧!
    发表于 09-21 14:04 595次阅读

    如何在Linux上更改默认的crontab编辑器

    在基于 Linux 和 Unix 的系统上,crontab 命令可帮助您安排任务,以便它们可以在指定的时间或间隔在后台自动运行。 首次启动 crontab 时,您将看到一个提示,要求您选择用于编辑 crontab 文件的默认文本编辑器
    发表于 12-26 11:23 6644次阅读

    嵌入式Linux入门(四、Linux下的编辑器—让人爱恨交加的vi)

    嵌入式 Linux入 门第四课,了解 Linux 下的编辑器,掌握 vi 编辑器的使用。
    的头像 发表于 07-04 11:42 1569次阅读
    嵌入式<b class='flag-5'>Linux</b>入门(四、<b class='flag-5'>Linux</b>下的<b class='flag-5'>编辑器</b>—让人爱恨交加的vi)

    常用编辑器之Vim编辑器

    Linux下我们对文本进行编辑,经常用到的编辑器就是Vi/Vim,Vi/Vim命令众多,功能强大,是大多数Linux程序员选择使用的编辑器
    发表于 08-22 09:48

    linux文本编辑器工具下载

    linux文本编辑工具:VIM是优秀的开源文本编辑器,是Linux/UNIX用户非常常用的文本编辑工具.
    发表于 06-02 22:30 31次下载

    CentOS下vi编辑器用法大全

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及
    发表于 05-19 15:16 2次下载

    Linux下C编程基础之常用编辑器浅析

    3.2 常用编辑器 3.2.1 进入vi Linux系统提供了一个完整的编辑器家族系列,如Ed、Ex、vi和emacs等。按功能它们可以分为两大类:行编辑器(Ed、Ex)和全屏幕
    发表于 10-18 15:45 0次下载
    <b class='flag-5'>Linux</b>下C编程基础之常用<b class='flag-5'>编辑器</b>浅析

    VI 编辑器的命令、模式和选项介绍

    VI 编辑器是一个基于命令行的、功能强大的文本编辑器,最早为 Unix 系统开发,后来也被移植到许多的 Unix 和 Linux 发行版上。
    的头像 发表于 02-09 15:11 6275次阅读
    VI <b class='flag-5'>编辑器</b>的命令、模式和选项介绍

    linux系统教程之Vi编辑器的使用教程免费下载

    用户无论是建立文本文件,还是编写程序、配置系统环境,都要用到文本编辑器Linux操作系统环境下提供了许多文本编辑器,本章重点讲解vi编辑器,启动、保存、退出和其工作模式等内容,并对利
    发表于 12-18 19:09 52次下载
    <b class='flag-5'>linux</b>系统教程之Vi<b class='flag-5'>编辑器</b>的使用教程免费下载

    如何从Linux中探讨Ⅵ编辑器的教学问题

    Linux中文本编辑器访的主要教学方法和常见的教学问题两个方面,探讨了Ⅵ编辑器的教学问题。
    发表于 01-18 15:07 9次下载
    如何从<b class='flag-5'>Linux</b>中探讨Ⅵ<b class='flag-5'>编辑器</b>的教学问题

    干货 | Linux编辑器 SED 详解

    Linux 中,常使用流编辑器 sed 进行文本替换工作。
    的头像 发表于 08-09 17:47 3099次阅读

    使用nano编辑器时怎样保存内容

    最初在 Linux 终端中使用 nano 编辑器的时候,或多或少可能会遇到一些问题。使用它编辑内容应该没什么,一切都很简单,但是在编辑完成后
    的头像 发表于 02-01 14:42 9318次阅读
    使用nano<b class='flag-5'>编辑器</b>时怎样保存内容

    你会使用 Linux 编辑器 vim 吗?

    vim:是一款编辑器,只负责写代码;相当于 windows 的记事本;
    的头像 发表于 05-10 18:21 856次阅读
    你会使用 <b class='flag-5'>Linux</b> <b class='flag-5'>编辑器</b> vim 吗?

    Zed Code编辑器新增Linux支持

    据悉,Zed代码编辑器是基于Rust语言开发的macOS软件,近期其研发团队宣布已成功实现Linux平台兼容。据悉,今年年初Zed首次发布时并未提供Linux版支持。
    的头像 发表于 05-10 10:31 563次阅读

    vim编辑器如何使用

    Vim编辑器是一个功能强大的文本编辑器,它基于Vi进行改进,并增加了许多新特性。Vim编辑器的使用主要涉及其不同的工作模式及相应操作。以下是Vim编辑器的基本使用方法: 一、Vim
    的头像 发表于 08-30 14:58 427次阅读