I find that my love for VIM grows everyday. It is the only application that I have ever used that I feel this way about. I am constantly learning another trick; and afterwards I wonder how did I ever survive without this feature.
I know people believe that they are doing just fine without VIM, but I suspect that they have no idea how much better life would be if they used VIM.
If you use VIM for a month you will think it is ok--use it for a year--you will love it--use it for a few years and you will begin to despise the limitations of other editors.
I hated it at first. Thought it was overly complicated. Then I started doing some sys admin work, had no GUI at all and just had to use it. Got sort of used to it, then I used the vimtutor program (should come with vim) and learned a bunch of tricks.
Now I love it. Once you get the hang of it, it really is no worse than a graphical text editor.
I concur, Vim is awesome.
The trick to overcome the first weeks for me, was to first go through the tutorial as ResidentBiscuit mentioned, then just learn one new thing every day.
There is a video of Bram Molenaar (the creator of vim) on youtube somewhere in a seminar about using vim effectively. His main advice is to make yourself aware of repetitive movements, then figure out a vim shortcut and train yourself to use it automatically. I have a book on vim and every once in a while I'll read on until I find a useful new trick, then I try to make that trick a habit.
For those interested, following link is a great resource for vim tricks as well:
http://vimcasts.org/episodes/archive
Honestly though, as long as you understand the two modes, how to get between them, you're set. At least for vim. In vi you have to know a little bit more.
If you are very comfortable with it, it is a lot faster (and in my experience, ergonomic) if you can do everything without taking hands off the keyboard to use the mouse.
Small tip for .vimrc to switch easily between insert mode and normal mode:
You could simply use ssh and edit the files on your machine instead.
(or use version control creating a remote repository in the machine to administrate)
.zo'o: I'm quite sure your graphical editor provides facilities for that.
That would be work than it's worth. Unless I'm having to flip through multiple files, using Vim is easy enough. And if I need to be in a few files, I'll just open a few ssh sessions
If I need to edit a few files, I'll just open a few files.
I'll recommend you to checkout tmux or screen, so you'll only need to maintain one ssh session.
At first that was my methodology: enter the remote trough ssh, execute screen, edit the files and work there.
However, I didn't have my tools in that machine, the configuration was not the same, and aux files were not present, so it wasn't as comfortable.
Then I realize the good integration that vim has with scp (look for netrw), so I could edit all the files from my machine easily.
If you later want version control, then you could make all the work that you want locally and just need to connect when pushing.
The `fugitive' plugin is quite awesome
Then I realize the good integration that vim has with scp (look for netrw), so I could edit all the files from my machine easily.
There are indeed many possibilities.
The above copies files from remote, edits locally, and copies files back. Its variation is to use sshfs to mount remote filesystem and then edit locally.
Within ssh session one can naturally edit remotely. If the remote has X client and the local has X server, then one can edit remotely, but with GUI displayed locally. I do prefer the CLI mode though.
I did mention 'sed' previously. I often let ssh execute commands like sed in the remote non-interactively without interactive session.