自从迁移到 os x 以来,就一直用的 textmate , 界面和文字都很漂亮 ,不过最近一直觉得缺陷还是挺多的,比如不能分屏,有些操作还是比较依赖鼠标等等..或许我使用也不是很正确 ,尝试过 sublime text2 之类 , 最终还是决定用 vim , 似乎 vim 比较有踏实感。
无奈用其他编辑器时间长了,切换到 vim 还是很多地方不适应,有时候赶任务 , 只能又换回去 , 请教各位 vim 高手,各位学习 vim 时都有什么心得和经验可以分享一下吗 , 使用 vim 开发 rails 和其他 ruby 程序有没有比较好的技巧和插件可以推荐的?
熟能生巧。前两周总需要有点耐心。算是时间上的投资吧。(PS:我个人用的也很蹩脚)
推荐用 vundle (https://github.com/gmarik/vundle) 管理插件。以下是我用到的个人认为对 rails/ruby 开发比较有帮助的插件:
Bundle 'gmarik/vundle'
Bundle 'gmarik/snipmate.vim'
Bundle 'honza/snipmate-snippets'
Bundle 'wincent/command-t'
Bundle 'ervandew/supertab'
Bundle 'scrooloose/nerdtree'
Bundle 'scrooloose/nerdcommenter'
Bundle 'surround.vim'
Bundle 'ack.vim'
Bundle 'tpope/vim-rails.git'
Bundle 'taq/vim-rspec.git'
Bundle 'pangloss/vim-javascript'
Bundle 'tpope/vim-haml'
Bundle 'kchmck/vim-coffee-script'
Bundle 'cakebaker/scss-syntax.vim'
推荐看下 Vim 作者的文章 Seven habits of effective text editing http://www.moolenaar.net/habits.html 针对的是 Vim,不过建议对其他编辑器也有效
第 7 个建议 Make it a habit: Learning to drive a car takes effort. Is that a reason to keep driving your bicycle? No, you realize you need to invest time to learn a skill. Text editing isn't different. You need to learn new commands and turn them into a habit. 常用的命令要变成肌肉记忆,用脑子记容易忘,用起来也慢。
还有他的讲座 比较长,不过他在很早的时候就提到要 make it a habit
我的经验是尽量不要改变默认的一些配置,这样你走到哪里,ssh 到哪里基本都可以很习惯的使用... 另外,看看 Janus 吧,我觉得是个蛮不错的项目 https://github.com/carlhuda/janus 但是我在 macvim 上用起来时不时会卡,特别是偶尔做鼠标操作的时候... 还没找到原因....
如果还在熟悉操作的阶段,最近有个http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/,篇幅也不长,可以试试 btw,口号喊得很响。。
Learn vim and it will be your last text editor.
也可以用 vim 自带的 vimtutor 学的操作
用 TextMate 还需要理由么?如果正要的话,传统的编辑器就它最好,最稳定。 看看那些 TextMate 的模仿者吧: Intype E-TextEditor Redcar Sublime Text Vico Chocola ...
可能还有更多,就像 Rails 一样被不断的模仿
My own Best thing ever:
:h usr_01.txt
in vimBig Warning: No one can learn vim by reading, you need to learn by watching how smart guys actually using vim. The Derek's screencasts was really the thing that got me believe in "vim was made for efficiency", before that vim was a horriable energy sucker to me.