作为一名程序员,我在键盘上花了很多时间,而且在过去的12年里,我或多或少都在做.如果有一些我从未习惯过的东西,那么由于一些最常见的代码编辑任务,我在编码过程中会遇到这些烦人且几乎无意识的持续微中断.像从不同的行(或甚至同一行)进行简单的复制和粘贴,或者从当前位置向上或向下移动1或2行所需要的东西需要太多的输入或涉及使用箭头键......它会得到当我想进一步移动时更糟糕 - 我最终使用了鼠标.现在想象一下这个场景,但在笔记本电脑上.
我一直都在考虑学习VIM,但掌握它所需的时间总是让我想退后一步.
我想听听那些已经学会了它的人,以及它最终成为你不能没有的东西之一.
在工作中,我使用VS2008,C#和R#,它们使编辑代码比以往更快更容易,但即便如此,我认为我可以享受不必使用鼠标.
甚至没有箭头键.
Gre*_*ill 250
我已经使用vi和vim已经有20年了,我还在学习新东西.
David Rayner的最佳Vim Tips网站是一个很好的列表,虽然它对你熟悉vim后可能更有用.
我还想提一下ViEmu网站,它有一些关于vi/vim技巧的精彩信息,尤其是文章为什么,哦为什么,这些胡桃头使用vi?(存档版)
Tra*_*irk 185
我可以没有它吗?容易.
它有用吗?是.
vi保证存在于所有Unix系统上,并且也存在于大多数Linux系统上.这种广泛的报道使学习它值得.
使用vi进行sudo
编辑要快得多:
$ sudo vi
此外,GMail使用vi-ish命令来选择和移动电子邮件!
你不必是一个主人.
刚刚学习
:w
Enter(写):q!
Enter:wq
Enter从那里剩下的就会让你更快.
Rya*_*ght 69
如果您是编辑大量文本的程序员,那么学习A Serious Text Editor非常重要.您学习的哪个严肃文本编辑器并不是非常重要,并且在很大程度上取决于您希望编辑的环境类型.
原因是这些编辑器经过高度优化,可以执行您将要执行的各种任务.例如,考虑在每行的末尾添加相同的文本位.这在严肃的文本编辑器中是微不足道的,但在其他情况下却非常麻烦.
通常认为vim的杀手功能是:A)它几乎可以在你遇到的每个Unix上使用它们B)你的手指很少离开主行,这意味着你将能够非常快速地编辑文本.即使在编辑大文件时,它通常也非常快速和轻量级.
然而,有很多选择.当然,Emacs是最常见的例子,如果你真的深入研究它,它不仅仅是一个高级文本编辑器.在使用vim/gvim多年后,我个人是一个非常高兴的TextMate用户.
切换到其中任何一个的诀窍是强迫自己按照预期的方式使用它们.例如,在vim中,如果您在多步骤过程中手动执行每个步骤,或者如果您使用的是箭头键或鼠标,则可能有更好的方法.停止你正在做的事情并查阅它.
如果你什么都不做,请学习vim和Emacs的基本导航控件,因为它们会弹出到处.例如,您可以在Mac OS的任何文本输入字段,大多数Unix shell,Eclipse等中使用Emacs样式的控件.您可以在less(1)命令中使用vim样式控件,在Slashdot上,在gmail上,等等
玩得开心!
Ric*_*ich 36
这绝对是值得的.
有一个显而易见的原因,任何使用过的人Vi(m)
都会告诉你,另外两个人似乎从未提及.
这是显而易见的:
vi
它是无处不在的,非常强大,通过学习它,你可以在几乎所有带键盘的电脑上运用这种能力.这些是鲜为人知的学习理由Vim
:
它的努力程度不会超出您的预期.通过Vim导师一次(vimtutor
在一个shell中,或在Windows中从开始菜单中的Vim文件夹中运行它),你已经很好地掌握了自己的能力,而且从那里开始走下坡路.我达到了可以Vim
在工作中使用的水平,在不到一周的午餐时间内不会产生明显的生产力.
这很有趣!现在编辑文本对我来说就像一个游戏.我积极地享受它 - 当你想到它时,这非常荒谬.
还有两个很好的理由不学习Vim
:
它让人上瘾,你会发现自己希望你可以Vim
在所有的计算中使用命令,并且在你不能的时候咒骂.幸运的是,至少在某些情况下,有办法 让 周围 此.
再次,它会上瘾,虽然你不会因为实际使用 而失去任何生产力Vim
,但是你会花费数小时寻找好的技巧来让你的Vim
体验更好,并在Stack Overflow上阅读Vim标签.
Nor*_*sey 32
绝对值得学习vim或emacs.它也值得学习触摸式.在这两种情况下,原因都是相同的:您的思维不再被将代码放到屏幕上的机械过程所打断.
至于如何开始,只需潜入并开始使用vim的一切.
PS emacs-vs-vi辩论是无止境的.我已经使用emacs 26年了.如果我今天再次开始我会学习vim因为(a)它变得更好而且(b)有更少的修饰键(Ctl-Alt-V,任何人)和vim用户似乎得到更少的打字伤害.
iso*_*mes 17
通过学习16个键的含义,您可以从vim中获得良好的功能:ijkdbw9:q!%s/nN
Esc.你可以只做裸骨i:wq
Esc.
您需要知道的前两个键是:Esc将您带到命令模式(您启动的模式),并i
带您进入插入模式(正常键入).
为了节省您的需要
:
w
然后键入小写Enter要保存并退出,您需要
:
wq
然后键入小写Enter为了不节省和强制退出,你需要
:
q!
然后键入小写Enter要了解更多信息,可以vimtutor
在命令行运行.这是一个中等长度,结构良好的课程.
超越i
和Esc:您只能复制或超越某些MS Word功能jkwbd3:%s/nN
.
b
带你回一个字(Ctrl+ ←)w
带你前进一个字(Ctrl+ →)9w
带你前进九个字db
删除前一个单词(Ctrl+ Backspace)d3b
删除前三个单词9j
向下移动9行ornithopter
Enter您可以到"扑"字,那么下一个实例n
,并N
分别"扑"的下一个和以前发生.%s/confounded/dangfangled/
Enter用"dangfangled"代替每一个"混乱"(如find and replace all
在MS Word中)其中任何一个都应该在"命令"模式(Esc)中运行,而不是插入模式(i
).
Gab*_*art 16
我最近切换到VIM,我认为这是值得的.如果你需要"完成任务",你可以始终保持插入模式,其中vim(大多数情况下)就像普通的文本编辑器一样.
我注意到那些没有用来打扰我的东西,比如伸手去拿箭头键,现在感觉不对劲了.它肯定减少了我的手部动作和鼠标的使用,这对人体工程学和生产力都有好处
The*_*rff 12
这取决于你想用VIM做什么.学习它是没有意义的,因为很多人不能没有它.
当我在UNIX环境中工作很多时,没有它我就活不下去.即使VIM没有安装在UNIX机器上,我也至少可以使用vi.您可以始终指望它 - 即使机器不是您的(来自客户).
现在我用C#编程,主要用于Windows环境.我在我的电脑上安装了VIM ......而且我不需要它.
评估您是否真的需要VIM,以及它是否在您的"工作流程"中为您提供支持.试试看.玩它.如果你认为你需要它,坚持下去......学习曲线非常陡峭.
Osc*_*Ryz 10
我学习了vi因为我必须这样做.
我疯狂的老师强迫我们学习使用终端到AIX系统在C中编程.
这是一个真正的痛苦,但值得.
今天,我只使用vi进行快速编辑或小程序.
当我必须去一个项目时,我宁愿使用IDE.在我的情况下,IntelliJ的想法是非常擅长的任务,因为我可以编写几个小时而不用抓住鼠标.
我不知道VS2008有多少快捷方式,但如果它们像Eclipse一样可以被发现,我认为你遇到了麻烦.
如果您不在IDE之外编辑代码并且您的IDE具有良好的快捷方式,那么您最好学习它们,然后去学习vi.
:)
我已经使用vi/vim超过25年了.如果你已经知道一些命令行编辑器,那么也许你不需要学习vi/vim.但如果你不熟悉任何其他命令行编辑器,那么值得学习它.只需很少的努力就可以很容易地在vi/vim中高效工作.
小智 5
我的工作迫使我拿起vim,很快成为第二天性.现在我的抱怨是关于没有vim仿真或插件的IDE.我注意到esc键已成为我在vim之外的敌人.
我确实在Visual Studio中为vi找到了几个模拟器:
http://code.google.com/p/vim-visual-studio/