我最近开始使用 Ubuntu,因此开始使用终端。
作为文本编辑器,我已经使用了预装的nano
。现在我想知道我是否vim
也应该安装和使用。
这些文本编辑器各自的特色、优点和缺点是什么?哪一个更适合新手?另一个更适合什么用例?
答案1
简而言之:nano
简单,vim
强大。
如果您只想简单地编辑一些文本文件,nano
那就足够了。在我看来,vim
它相当先进,使用起来也相当复杂。您应该花一些时间才能正确使用它。
有趣(但不太不切实际)的引言vim
:(来源)
我已经使用 vim 大约 2 年了,主要是因为我不知道如何退出它。
答案2
Vim 和 Nano 是完全不同的终端文本编辑器。
Nano 简单、易于使用和掌握,而 Vim 功能强大且难以掌握。
为了区分,最好列出它们的一些功能。由于我们不使用终端编辑器进行常规编辑或编码,因此我列出了一些最有趣的功能,这些功能有助于我们今天使用它们的方式。
纳米:
- 易于使用和掌握。
- Nano 的大部分快捷方式都列在窗口底部,使用起来非常简单。
- 搜索功能
- 搜索和替换
- “转到行”命令
- 自动缩进
Vim:
- 入门和掌握都比较困难。编辑和命令模式会让初学者感到困惑。
- 会话恢复
- 分屏
- 标签扩展
- 完成命令
- 语法着色
尽管我第一次接触 Vim 时很讨厌它,但现在我比起 Nano 更喜欢它了。
答案3
它们都是文本编辑器,但相似之处仅此而已。两个文本编辑器竟然如此不同,这看起来很奇怪。关键是它们都是专门文本编辑器,用于完成两种截然不同的任务。nano
和vim
(或者更确切地说,pico
和vi
,它们模仿的)分别用于编写电子邮件和程序。
你不需要花很多时间nano
:你进去,输入你的电子邮件(或任何你正在写的东西),然后你很快就出来了。一切都以让您尽快进入和退出为中心,这样您就可以返回到您正在做的其他事情。它甚至在窗口底部列出了所有功能,因此您不必浪费时间查找帮助屏幕。当然,窗口底部的空间是有限的,因此功能仅限于可以在两行文本中与所有其他功能一起表达的任何内容。结果非常方便一些事物。
你应该花费大量(如果不是几乎所有)的时间在 上vim
,所以它会尽量不打扰你,同时帮助你快速处理大段文本。基本启动屏幕几乎不提供任何信息,而当您打开文件时,您只能稍微了解一下您所在的位置。在这两种情况下,你不能立即输入文字:您从“正常模式”开始,必须先按i
进入“插入模式”(您还可以按其他几个字母代替i
,提供此主题的一些变化,还有一些我没有提到的其他模式)。学习曲线是极其陡峭的:它是vimtutor
为了帮助人们而来的,但有些人甚至写道全部游戏专门用于学习vim
界面。想一想。整个游戏只是为了学习如何使用文本编辑器。人们为此付费。
毫无疑问,这nano
对新来者来说更好。我有点狂热vim
,甚至我也不能否认这一点。我见过vim
很多新手对 Linux 失去兴趣。如果你不打算做大量的文本编辑,或者你的文本编辑任务都相当轻松(比如写电子邮件),那么它nano
可能就是你所需要的。
话虽如此,虽然掌握vim
需要很长时间,但投资回报率很高。我意识到这篇文章的其余部分听起来有点贬低vim
,但这不是我的本意。你只需要知道你正在做什么,vim
因为难的。但即使是其默认配置也包含可自动执行许多常见(且非常重复)文本编辑任务的功能:只需几次击键即可完成手动操作可能需要几分钟甚至几个小时才能完成的任务。有些插件和脚本可以进一步实现这一点。如果您要进行大量编程或类似的漫长而复杂的任务(论文、小说等),那么vim
最终是更好的选择,但您仍然应该先弄清楚nano
:如果出现紧急情况并且您需要在弄清楚基础知识之前做某事vim
,您将希望能够投入到您熟悉的工作中。
底线:从 开始,如果变得乏味,nano
则转到vim
nano
。
答案4
我读了其他帖子。一开始我会同意他们的观点。但是,我花时间真正学习了 nano。它实际上非常强大。例如,你可以使用语法高亮显示。你只需要配置你的.nanorc文件。服务器上有许多示例/usr/share/nano位置。只需添加包括 /usr/share/nano/sh.nanorc线到你的〜/.nanorc用于 bash shell 突出显示的文件。
您可以使用大量其他键盘命令。我为自己制作了一整页快捷键。它非常像使用 Wordstar 或旧时代的其他基于文本的文字处理器。现在我发现,我在服务器上安装 nano 并不是我的第一步,因为它对我来说变得非常直观,而且比 vi/vim 高效得多。我不会说它更强大,但它同样强大。
从...开始这个纳米备忘单查找大量命令。如果您使用过 emacs,您会发现这非常相似,但在我看来更容易。我不会责怪仍然使用 vim 的人。多年来,vim 和 emacs 一直存在圣战。添加 nano 只是为该讨论添加了第三个非常强大的编辑器。但不要将它视为一个弱的初学者工具。
最大的区别是 vim 是模式化的而 nano 不是。因此使用 vim 时,您会不断在命令模式和编辑模式之间切换。在 nano 中,就像在 emacs 中一样,您处于一种模式,并且您的命令使用特殊的组合键。随着您更多地使用编辑器,您将开始学习所有最常用的命令。如果您经常使用它,您将学会其中的大部分命令。另一个注意事项是,对于读取文件功能,有两种模式。它要么将文件读入当前编辑缓冲区,要么读入新缓冲区。一定要查一下。