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超过25年了。如果你已经知道一些命令行编辑器,那么你可能不需要学习vi/vim。但是如果您不太了解其他命令行编辑器,那么学习它是值得的。在vi/vim中很容易轻松地提高效率。

其他回答

我学vi是因为我必须学。

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

这真的很痛苦,但值得。

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

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

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

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

:)

我对我的textpad和ecplise世界很满意,直到我不得不开始在linux下运行的服务器上工作。需要远程脚本和配置文件的设置!

一开始很难,但现在我可以轻松地设置和调整我的服务器。

没有它我能活下去吗?很容易。

它有用吗?是的。

学习的理由

vi保证在所有Unix系统上存在,并且在大多数Linux系统上也存在。这种广泛的覆盖面让学习变得值得。 使用vi编辑sudo要快得多: $ sudo vi 此外,GMail使用vi-ish命令来选择和移动电子邮件!

你不需要成为大师。

只是学习

基础知识:

如何从命令模式切换到插入模式i 如何从插入模式切换到命令模式Esc 如何在命令模式k中浏览一行 如何在命令模式下导航一行j 如何导航左字符在命令模式h 如何正确导航字符l 如何保存文件:wEnter (write) 不保存退出(命令模式下):q!输入 如何撤销 如何重做Ctrl+r 您可以结合写入和退出(在命令模式下)::wqEnter

剩下的只会让你跑得更快。

我已经使用vi/vim超过25年了。如果你已经知道一些命令行编辑器,那么你可能不需要学习vi/vim。但是如果您不太了解其他命令行编辑器,那么学习它是值得的。在vi/vim中很容易轻松地提高效率。

我认为花时间和精力去学习vim绝对是值得的。对我来说,它使得在文本中输入和导航变得如此高效,很难想象回到emacs或ctrl/shift/alt/meta组合键。

不要被vim所有花哨的特性吓倒。一旦你用得够多了,你就会知道哪些命令用得最多,哪些事情可以忘记。