Writing Arduino code with another text editor

I'm not good at programming, and I'm pretty untrained in C++. I've bought an arduino board and am using the arduino program to write programs. My programs are getting fairly big and complicated by my standards and what's bothering me is the text editor part of the Arduino IDE isn't exactly steller IME. I used to use kate to write java and it was a much better text editor, not hardcore like emacs or anything, but it had good features like being able to collapse and expand blocks of curly braces, plus I feel that the highlighting and scrolling behavior in the Arduino IDE is unpolished, and on top of it all, the supreme middle-click-to-paste linux behavior doesn't work.

So, is it possible to write Arduino code with kate/other text editor, or would I have to write in raw C++ and use avr-gcc? And how big of a deal would that be for someone whose sole knowledge of C++ comes from writing Arduino programs using the Arduino IDE?

Try to read this page "http://arduino.tw/?p=95".

If I edit the sketch files in the sketchbook directory with my text editor of choice, and then hit compile in Arduino, does it compile the version saved in the sketchbook directory, or the version currently displayed in the IDE window?

I never got an answer to my previous question. Editing the sketchbook files with a different text editor and then using the Arduino IDE to compile them seems like it might work, but I'm not sure.

There is an option in the IDE to use an external editor. If that option is selected, and the file saved in the external editor, I’d expect the IDE to re-read the file.

If that option is not used, I’d would not expect the IDE to re-read the file.

It’s certainly easy enough to test. Open the blinking sample sketch. Upload. Observe the interval.

Edit the sketch and significantly change the interval. Save in the external editor, and upload again. If the interval changes, the saved file was re-read before compiling. If not, it wasn’t.