从我所看到的。 emacs等。在终端运行。有什么好处吗?看来,写和组织事物会更麻烦。我不是想成为主观的,我从字面上对Emacs,Vim,Nano等一无所知,并且想了解更多,也许使用其中之一。

有帮助吗?

解决方案

您的问题是一个艰难的问题。即使他们确实在终端运行,也不是他们的主要优势。我现在谈论的是emacs和vim。简而言之,他们已经存在了至少20年(vim)或更长时间(emacs),他们有一个非常活跃的社区,它们可以脚本脚本,因此,如果您知道如何并且他们'重复强大。

他们的学习曲线非常大,因此在精通之前,您可能最终会在数周(甚至不是几个月)中摸索。学习它们的主要动机是生产力。与记事本相比,您可以用最少的击键来做一些非常惊人的事情。

尝试一个。如果您喜欢它,请坚持一段时间,忍受痛苦,然后您会看到好处。几乎就像去健身房一样。

其他提示

如今,大多数人使用IDE。他们通过分析已经写的东西来帮助您可以得到的事情。这些东西可能非常有用和有用,但是它们并没有真正帮助实际编辑代码的核心任务。工具制造商正在考虑的是,这些额外的东西提供了足够的好处,它将超过VIM和EMAC作为编辑的有效性。他们在大多数社区中几乎都赢得了这场战斗,主要是因为新开发人员在完成的代码完成和易于使用的重构支持之间做出了选择,而编辑者和编辑者在大约6个月内看不到任何好处简单的方法。我知道我做到了。

我现在是一个VIM家伙。 VIM似乎并没有真正具有相同的生产率上限,我已经使用了一年多了,并且半规范化的事情仍然遇到了我对此不知道的事情,这使我更快。即使没有这些,我使用它的越多,我的想法就越少,这又使我更快。此外,每个语言和平台都存在VIM,并在任何一个UNIX服务器上安装在任何框框上。它没有任何负载屏幕,几乎可以跳到屏幕上,而是与大文件一起工作,并且永远不会减慢或崩溃。您所学到的技能将适用于您职业余下的一切,而不是在更改平台时会改变的IDE。

VIM是一项投资,但是如果您谈论的是每天几乎每天使用8-10个小时的东西,那么学习曲线将完全无关紧要。

没有真正的理由使用纳米。几乎任何事情都更好。

至于vim和emacs,这就是我所说的 上次这是出现的:

我与VI钥匙界半符合人物,但总体而言我更喜欢Emacs。这些编辑者之所以如此热烈的信徒是因为他们提供的编辑模型比较新的系统更强大,这就是为什么提供“ VI keybindings”或“ Emacs KeyBindings”不够的原因,即使您不使用任何扩展功能或emacs或vi的自定义。

我只会谈论Emacs的模型,因为我最了解它。今天的文本编辑的通用模型涉及文本缓冲,其中可以将文本插入,删除,选择和剪切/复制/粘贴到系统剪贴板上。

Emacs缓冲区当然可以支持这些操作。除了跟踪每个窗口的光标位置外,它们还跟踪其中制作的“标记”。 “点”(光标位置)和“标记”之间的文字称为“区域”,并且大致对应于主流编辑器中的选择。

不同之处在于,Emacs跟踪标记在Mark环中设置的最后几个位置,您可以使用击键(或两个,取决于您的配置)返回它们。我发现这非常有用,尤其是因为许多EMACS命令都会更改您在缓冲区中的位置,以在您的旧位置设置标记。一个示例是我编辑Python模块并需要在文件顶部添加导入语句。到达缓冲区顶部(alt- <)的击键设置标记。我添加导入语句。我按CTRL-U CTRL空间,然后回到了我开始的地方。我可以继续这样做以循环回到以前的位置。 (也许我需要在添加该导入语句的同时选择一些文本。)

另一个(和更知名的)Emacs差异是杀戮环。大多数用于从缓冲区中删除文本的击键将文本保存到杀戮环,然后可以用“ yank”命令(ctrl-y)召回。基本特征是随后的Yank命令检索较老的杀死文本。因此,您可以连续杀死几部分文本部分,然后按顺序检索它们。您还可以在倾斜后用Alt-Y骑自行车,删除检索到的文本并将下一个条目插入环中。

Emacs在1978年具有这些功能。在任何程度上采用它们的唯一其他主要系统是NextStep(现在由可可(Cocoa)继承)。其他工具为特定任务提供了更多功能,可以比Emacs LISP更易于使用语言扩展,并且具有更好的视觉接口...但是Emacs在文本编辑方面仍然更好。这就是为什么一旦您知道如何使用它,就很难退出。

Vim岩石

VIM很难学习(您必须记住要使用的命令),但比我见过的任何IDE或GUI编辑器都更强大。

VIM秘密的一部分是 线模式 它最终从肯·汤普森(Ken Thompson)本人撰写的ED(1)文本编辑中继承。它非常强大:它可用于重构甚至放入脚本中。它基于正则表达模式更换。

并且凭借所有这些功能,因为它是一个老式的终端/X-Term应用程序,它立即启动,从未有可检测到的滞后。

我已经切换到IDE和GUI编辑很多次,但一直回到VIM。我认为这次我会坚持下去,并挽救自己的绕行。


笔记:

如果您的IDE支持重构,那是使用IDE的理由。我只是将其用作复杂的任务示例。

值得注意的是,VIM似乎有助于与RSI战斗,并使您的手更加放松。这些命令是未修改的键,因此您无需将手腕固定在控制,元或命令或bletch或其他任何方面。

使用VIM/EMACS,您可以得到两件事:

  1. 可定制性
  2. 他们到处跑

两者都需要及时投资学习。但是,一旦您学习了其他任何编辑器,就会感到自卑。

Emacs和Vim是我能考虑的最精致,最多功能的软件。

在UNIX环境中工作时,更具体地说是正确的,其中纯文本文件用于所有内容(代码,脚本,配置,流程等)。

这些工具需要一些时间来学习,甚至需要掌握,但是它们可以整天为您带来意外的生产力。

我在1990年左右开始使用它们。二十年后,它们是我列表的顶部。它们是我配置机器时我安装的第一个工具,当我当前的IDE被卡住时,它们总是可以使我进一步一步...考虑regexrename数千个文件,应用文本文件的复杂重新格式化或任何其他文本定向任务。

emacs - 我想,vim,也许 - 有几个优势:

  1. 更多屏幕房地产。
  2. 真正的最终可扩展性
  3. 最小的内存使用情况。我已经使用35 MB的RAM打开了100多个文件,包括多个远程编辑文件。
  4. 除非您必须重新启动计算机或升级Emacs,否则Emacs永远不必关闭。我通常会连续数周运行单个emacs过程。
  5. 在易于修改方面易于修改。如果我愿意的话,我可以在一天中敲出一个突出显示模式。缩进或多或少有效。而且我什至不太擅长emacs。
  6. 在手上更容易,因为您可以轻松地重新启动钥匙以支撑您的个人形状和首选的键盘形状。
  7. 可靠的。我可能曾经强迫emacs崩溃。
  8. 我可以访问的任何地方运行。可能有些较旧的IBM 390系统可能无法运行...

我使用了Visual Studio和Eclipse。他们不像Emacs那样擅长原始文本编辑。它们的速度要慢,并且支持更少的语言。

我听到关于Emacs提出的唯一有意义的反对意见是“没有Intellisense”。当我在此编辑时,我不使用VS/Eclipse Intellisense。此外,据我所知,Emacs中的自动完整机制是优越的。 (例如,自动完成变量名称)。

当然,它确实需要学习曲线。对于Emacs,我会判断1个月的日常使用将带您到日常使用的舒适能力。

我经常使用vi(我现在在工作中使用它,因为我不能烦恼启动XServer,并且因为它很快就可以启动),但这只是因为我不得不学习(我的意思是'It'多年前,相当小的命令子集)对于远程编辑文件,有时是GEDIT或其他任何可用的东西很有用。

仅出于旧时光的缘故,我刚刚开始启动Emacs,看看我有多讨厌它,然后我不得不去Google撰写作弊表,告诉我如何关闭它。因此,我认为可以说这不是直观的。

我认为,使用Arcane钥匙组合在黑色终端上工作时,将自己视为Neo(Matrix)要比使用友好的GUI坐在那里要容易得多。

VIM具有大量命令,如果这些命令不足以完成您反复执行的任务,则可以定义自己的任务。但是,只有知道这些命令的少数,您就可以有效地使用VIM,因此您没有大量的学习开始(尽管您会弄乱了几天)。您还可以根据正则表达式搜索应用命令,如果要将特定更改应用于满足某些复杂条件的每条线,则可以非常方便。我无法想象 不是 这些天在VIM中进行编码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top