Let me second that, and explain why.
When debugging, I bet your routine is something like this:
- make changes and save
- upload with FTP client (maybe have to reconnect first)
- reload web page that calls scripts
Now, if it's a big change you may not mind, but what if all you're doing is changing the odd word? It gets a bit tedious.
Editing in vi/vim can speed this up considerably. It's on the server, so you don't have to worry about editing stuff from another machine that doesn't have UltraEdit on it if your away from yours (only ssh client - you do use ssh, don't you:).
It's easy to get overwhelmed though with vim's features, so to begin with, I suggest you learn the following:
- / followed by term - find
- n - find next of last term entered
- x - delete char
- r char - replace character with char
- dd - delete line
- ^ - go to beginning of line
- $ - go to end of line
- i - switch to insert mode
- o - insert line and switch to insert mode
- ESC - return from insert mode to command mode
- :w - save file
- ZZ (in caps) - save and exit
Typing a number before most of the commands above duplicates the action that many times.
If you take it slowly and just learn a few commands at a time, it's easier to learn.
After that, I'd move onto keyboard movement (hjkl), marking and yanking (copying), eg m'a, followed by y'a to mark and copy. p is put (paste).
Finally, this is a good book to get you going.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.