After reading Dan’s response to this a few days ago, I decided to have a bit of a play with Notepad++. I do think it’s a very nice little text editor with some lovely features. It’s quitck, it’s simple, and the syntax hilighting works a treat (no thanks to Scintilla of course). One thing I do like is that by default when line numbering is on and word-wrap is enabled, gaps appear between the numbers to indicate that a line has wrapped (I need to set up something like this with VIM, as it’s one of the things that’s currently driving me nuts). It’s a shame it’s Windows only! I now have it installed at work and I used it when I work on quite a few different things including stored procedures, general markup (XML/HTML/etc), and some other bits and pieces of code.
A couple of nights ago I also decided to install XEmacs to see what it was like to edit text. So many people love Emacs and there are just as many evangelists for this as their are VI/VIM. I found it to be very much like VIM, but there was one thing that stood out which I didn’t quite like. That is, the command mode seemed to be extremely heavy on the use of the CTRL and ALT keys. That may sound like a petty whinge to you, but for me, having to keep at least one of my little fingers at the bottom of the keyboard while I’m moving around becomes painful. I like VIM’s idea of not having to move any fingers away from the home row if you want to move up/down/left/right by a single line/character. Pressing CTRL every time is a bit of overkill in my opinion, and it’s a bit off-putting for me. After going through a few tutorials with I noticed that my hands were becoming strained. I’m pretty sure this is partly down to my typing style (because I’m not a perfect touch-typist, I tend to use my left little finger for SHIFT and CTRL rather than alternating depending on the key I am pressing).
So the result is that I’ve decided to cut short my time with Emacs and carry on doing my best to learn VIM. I can use VIM enough to be able to do my work, but I’m still frustrated because I know I’m nowhere near being the power user that I dream to be. It’s all about the practice. I do find myself getting annoyed at the fact that I have to constantly refer to the quick-ref guide to do some of the basic things, but I’m sure this will happen less and less over time.
I am still on the search for the ultimate development environment though. I do feel that having something which is a combination of VIM and Visual Studio would be awesome. I am even thinking of putting some time aside to build it myself. In my mind I have a vision of a unified IDE which not only has in-built support for debugging code, but has features such as memory windows, call stacks, etc - combined with the power of VIM for editing text, and the generic “Windows” functionality of things like CTRL-TAB for moving across buffers (yes, I know you can configure VIM to do this).
I have a question for everyone
I’ve done only a little bit of true development on a *nix machine, and I’m interested to know which tools most people use when they develop for *nix. I’d even be interested to know what you’d use for Mac development?! Are there are good selection of environments to use? Or is it all Emacs/VIM with a bunch of plugins? I realise VIM comes with some form of autocomplete, which I’m yet to play with, but how well does this work? Is it smart enough to autocomplete on functions names that don’t exist in the current file scope? Do your respective text editors have any support for intellisense? What is the project-wide support like? Is it really a pain in the butt to get debugging working? How easy it is to have your editor build your project for you without you having to manually create build files?
Yup, I can get these answers of Google, but I’m interested to hear the thoughts of the folks that find themselves reading this
As a final point, me ol’ mucka Keef pointed out that games developers are in a way ‘forced’ to use Visual Studio, and to a point I agree. But that doesn’t mean to say that you can’t use something like VIM for basic coding tasks if you really want to. I used to work with a guy who was a real Emacs junkie, and that’s all he used for his dev work (that includes Win32/C++ coding through to HTML, C# and ASP). All the compiling and debugging was done from Emacs, and he seemed to be very productive with it - something I’m nowhere near achieving with VIM










Leave a comment