C#开发者有必要学习Emacs/Vim吗?

24

我在一家完全使用微软技术的公司担任C#开发人员。

最近在业余时间,我开始自学使用gas和Linux汇编语言。我喜欢折腾Linux,但我对它仍然很陌生。

我不停地听到应该学习VIM或Emacs,但问题是,在我的工作中绝对不需要使用它们,所以我感到有点愧疚把时间花在掌握其中一个上。更糟糕的是,我想知道学习VIM或Emacs是否会让我在Visual Studio中变得更慢,因为我会混淆快捷键。

目前,我在Linux中使用SciTE进行编辑(我认为这在Windows上变成了Notepad ++)。

对于在完全使用微软产品的环境中工作的人来说,有没有学习Emacs / VIM的真正理由?我看到VS Studio中有一项设置可以使用Emacs快捷方式,有人在掌握这些技巧后在VS中变得更加高效吗?或者换句话说,你认为值得学习它们吗?

提前谢谢!

相关: 学习VIM是否值得?
相关: 学习Emacs是否值得投资时间?
相关: 为什么要使用IDE? (从另一面看)


我经常也会有同样的困惑,但是像回车键和箭头键这样的简单操作不能按照我的预期工作,这让我很生气。这些操作已经成为了本能反应,所以让我不知道怎么摆脱。 - AaronLS
19个回答

1

我使用(并且喜欢)Emacs,但我能理解vi用户的需求(我总是在极简主义和功能齐全之间犹豫不决)。让我一直使用Emacs并最终离开我曾经使用过的所有IDE的原因是我可以编写函数。当我说函数时,我的意思是真正的函数;我真的可以编程编辑器本身。我添加一个新函数,评估它,然后现在它就在我的编辑器中了。如果我经常使用该函数,则会为其分配一个键绑定。

我注意到使用集成开发环境(IDE)时,它们非常适合特定的编程语言(例如Eclipse非常适合Java)。我认为Emacs在任何一种语言上都不如专门的IDE好(除了可能作为Lisp IDE,但我不会在这里赞扬它的优点...),但是它更擅长于语言N,其中“N”几乎可以是任何已经存在或将要发明的编程语言。如果我正在学习一种新的编程语言(甚至只是在C、PowerShell、Haskell、Lisp、Java等之间跳转),那么我的环境舒适且能够胜任是很好的。因此,我的答案是“是”,因为Emacs(或vi,我想)为您提供了工具集的可移植性。今天您可能在做C#,但是未来呢?也许您将会在Monad#++上进行编码,如果是这样,那么肯定会有一个Emacs模式适用于它。


1

学习其中一个一定是值得的。我个人推荐emacs,但我有偏见。我99%确定emacs可以设置为.net开发后端(抱歉,我想不起正确的词语了)。


1
JaredPar提到了ViEmu,我听说它非常好用。但如果你真的想知道切换编辑器的好处,ViEmu网站上有一篇很好的文章:为什么那些#?@!脑残使用vi? 就我个人而言,使用gvim对我的生产力有很大的提升,我绝对比起Visual Studio编辑器或SlickEdit或其他我使用过的编辑器更喜欢它。但正如之前的回答所提到的,Vim可能需要一个陡峭的学习曲线。有些人已经专业地使用它5-10年了,仍在不断地学习。Vim有点像perl……有很多方法可以进行任何一系列的编辑,需要一段时间才能学会最好的方法。

0

你应该至少学会在VIM中保存(:w)和编辑文件(magic)--即使是最小的操作系统安装也包含它。这样,如果你被困在一个空的Unix盒子上,你至少可以编辑文件。

否则,我不相信炒作。你有更重要的事情要做,而且nano一直在变得越来越好。它甚至具有一些语法着色和自动缩进功能,甚至可以在PuTTY上使用鼠标。

最好学习如何在你的Unix盒子上配置Samba,然后在Windows盒子上使用像UltraEdit这样的真正的文本编辑器(引发战争)。我使用这种配置来编辑任何大于/ etc中的配置文件。


1
在我学会vim之前,我使用nano。但是在使用vim并习惯了所有的键盘快捷键之后,nano变得非常烦人。 - Nick Bolton

0

我也是一名长期使用C#的开发者。在Linux下开发C++时,我使用Eclipse CDT,因为这是我找到的最接近Visual Studio的东西。

作为一个vim的老手,我用它来编辑Linux的配置文件等,但是在进行开发时,我不会特别想使用它,而是选择使用一个IDE。

顺便说一下,如果你确实使用vim,你可能想启用行号和语法高亮;我总是会在我的~/.vimrc文件中添加这些行:

number on
set syntax

0

0

编程速度很大程度上取决于编辑器的选择,因此这是您将要做出的最重要的决定之一。


0

看看JP Boodhoo正在做什么www.jpboodhoo.com。他和Kyle Bailey最近在博客中谈论如何使用VIM作为他们在VS2008开发过程中的一部分。


0

我使用过 Vim 和 Emacs,但它可能慢了5%。 我曾经测量过开发者实际键入代码的时间量(我不是在谈论滚动),这可能占您一天的大约5%。 我们正在争论5%的5%...

归根结底,Emacs 和 Vim 用户已经使用它们很长时间,他们不想麻烦更改。 他们中的大多数人只能通过鼠标驱动 VS,并且不知道大多数快捷键。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接