Thursday, 18 March 2010

Known Unknowns

In my effort to become a more rounded developer here's my current list of the known unknowns, that is, the thing I know I don't know anything about.

Regular expressions
Command shells (cygwin)
A proper editor (vim)
Functional languages



Vim for complete beginners

I'm currently reading the Pragmatic Programmer and today it made me feel pretty bad that I'm not using the full power of a good command shell (i.e. Unix style shell, cygwin) or a 'proper' editor (i.e. Emacs or vi (vim for windows).

So today I'm learning vim. The windows download is here, if after it installs you open the readme file it points you in the direction of a pretty handy tutorial.  I'm working my way through it and here's what I've leant.

There seems to be two 'modes' normal and command

In normal mode press:
        h       cursor left
        j       cursor down
        k       cursor up
        l       cursor right
      
        i       insert text at that point, press Esc to go back to normal mode
        x       deletes the character under the cursor
        A       append text to the current line
        dw      delete from the cursor to the end of the current word
        de      delete from the cursor to the end of the current word, exculding last character
        d$      delete from the cursor to the end of line
      
        d2w     delete 2 words
        dd      delete the current line
        2dd     delete two lines
        u       undo last command
        U       undo all changes on a line
        Ctrl-R  redo, undo the undo's
      
That's enough for now, time to do some real work but I'll be trying to use vim where possible.


Introduction

This blog is all about a semi-competent .Net developer trying to become a better developer.