I learned to use VIM at the university to administrate linux systems and to develop C++ apps. Then I moved to Java and I enjoyed using an IDE like Netbeans. When I started to play with Ruby and Rails I kept using Netbeans as my editor of choice as it plays very well with them.
As I was bored with “Up arrow key, End key, Enter key” instead of “O” to insert a new line above my cursor and I wanted to play again with this so old but still alive editor, I installed the plugins: rails.vim (just great), haml syntax highlight (I ♡ haml) and irblack color scheme (more Textmate like).
With rails.vim, you get just great shortcuts to browse your rails source file. Type :Rmodel your_model_name
to edit your model source file — :Rcontroller
, :Rview
, :Rmigration
, :Rjavascript
, :Rstylesheet
… work too! It also includes :A
(jump to alternate file) and :R
(jump to relative file) commands. :A
switches between source code and corresponding spec file, :R
jumps from model to migration file. The most amazing combo: :AV
to open up the alternative file (your spec file usually) in a vertical split window.
I finish up with the two commands I learned to use and love.1) Type ma
to “mark” your cursor position as ‘a’ then type 'a
to get back to this position. 2) Use qa
to record a macro in ‘a’, press q again to stop recording. Then @a to replay it. Using commands to jump to next word / end of line / next something character it can be much faster than making a substitution using regexp or so.
Top-down and Bottom-up programming illustrated by Mac OS X and Windows
Bottom-up programming starts by developing the data model before designing the user interface. Windows Start/Programs menu illustrates this approach. Since programs shortcuts are stored in the directory
Programs
the menu displays the content of this directory.Top-down programming starts by designing the user interface before developing the data model. Mac OS X dock illustrates this approach. As it should be easy for a user to launch an application the dock displays big icons accessible in one click.