As a programmer I spend a lot of hours at the keyboard and I've been doing it for the last 12 years, more or less. If there's something I've never gotten used to during all this time, it's these annoying and almost unconscious constant micro-interruptions I experience while coding, due to some of the most common code editing tasks. Things like a simple copy & paste from a different line (or even the same line), or moving 1 or 2 lines up or down from the current position require too much typing or involve the use of the arrow keys ...and it gets worse when I want to move further - I end up using the mouse. Now imagine this same scenario but on a laptop.

我一直在考虑学习VIM,但掌握它所需的时间总是让我想后退一步。

我想听听那些学会了它的人的意见,如果它最终成为你生活中不可或缺的东西之一。

在工作中,我使用VS2008, c#和r#,它们一起使编辑代码比以前更快更容易,但即使如此,我认为我可以享受根本不需要使用鼠标。

甚至连方向键都没有。


当前回答

是的,一定要花时间学习至少一点'vi'和'vim'。它旅行很好。

当你面对一个你没有安装能力的Unix/Linux/Mac系统时,你永远不会被困住。即使在Windows上(如果你有安装功能)“Vim”是免费且易于安装的。(而不是把你的学习曲线完全投入到像UltraEdit这样的东西上,尽管一个优秀的编辑器可能并不总是适合你……)

学习vi可以帮助你学习其他工具,比如sed和regex:一般来说是可迁移的东西。

另外,如果你想成为一个真正的极客,你只需要知道'vi/m',否则你看起来就像一个骗子;-)

其他回答

投资学习VIM(我的首选)或EMACS会有回报。

我建议访问Derek Wyatt的网站,浏览VIM导师,并查看Steve Oualine的PDF书。

与我使用过的其他编辑器相比,Vim可以帮助我更快地移动和编辑。我的工作ide在允许人们做的事情上是非常有限的,并且通常致力于特定的环境。有些任务仍然需要我重新访问IDE(例如调试器,它是IDE的编译部分)。

浏览vimtutor只花了我30分钟,这足以让我熟悉vim。每一秒都是值得的。

不要被命令的数量吓到,我还没有遇到过使用最多几十个命令的人。我发现它是不可或缺的,因为当我想到代码时,我想到的是文本,转到思考鼠标只会把我弄糊涂。最大的技巧,我认为,是一次学习一点,不要犹豫,玩玩-撤销功能是很好的探索它的行为。

此外,如果您深入了解它,vim是可编写脚本的。可能性是无限的。

(是的,所有这些也适用于emacs…)

首先,良好的vi(m)知识将节省您在被围困的服务器上紧急编辑配置文件的时间。它可以支持延迟的ssh连接。

管理的东西除了vim的输入法将是你最好的防御腕管,如果你有效地使用它与人体工程学键盘。

要了解vim的意义,最好的方法是在家里开始一个休闲的项目,拔掉鼠标插头,用胶带遮住方向键。

阅读帮助

我学vi是因为我必须学。

我那疯狂的老师强迫我们学习用C语言在AIX系统上用终端编程。

这真的很痛苦,但值得。

今天,我只在快速编辑或小程序时使用vi。

当我必须去做一个项目时,我宁愿使用IDE。在我的案例中,IntelliJ idea非常适合这个任务,因为我可以在不抓鼠标的情况下编写数小时的代码。

我不知道VS2008有多少快捷方式,但如果它们像Eclipse一样容易被发现,我认为你有麻烦了,去vi吧。

如果你不在IDE外编辑代码,而你的IDE有很好的快捷方式,你最好学习这些,然后,无论如何,去学习vi。

:)