boutell: (Default)
[personal profile] boutell
Hey geeky monkeys,

I need a new programmer's editor. Or a band-aid for vim. I can't decide which.

I love vim so this is kind of a bummer.

Reasons for this change:

1. I need to copy and paste with the mouse naturally without the need to manually switch in and out of autoindent mode, etc.

2. I need tabs that work intelligently: if there is already a tab open for a file, it gets reused. I don't want to use a command to look for an existing tab followed by yet another command to open the file if it is not open. That's dum. But it seems to be the best you can do with vim 7's buffers and tabs. I also need to be able to browse for that file without pain.

3. My coding style has always been designed around an 80-column limit, so I break lines a lot, using indentation to carry meaning even within a single complex statement. Old-school programmers are of course used to this. But my coworkers have served notice that modern computers have wide screens and I need to knock it off with the multiline statements already. I'm not convinced they're right in all situations, but the 80-character rule is starting to look pretty arbitrary. I could address this with a fullscreen vim window of course, but for that to work well, tabs have to work well. See #2.

Things I have tried:

1. Eclipse. I tried Eclipse with the PDI PHP context sensitive stuff. It was awesome for a few days and then it refused to open a particular file ever again until I nuked the Eclipse project (not the actual code of course). This does NOT give me warm fuzzies.

2. jEdit. Fired this up today. Icons that make Mapedit look like iTunes. And no native support for tabs!

Things I'm aware of:

TextMate. My coworkers swear by this. Fabien Potencier of the Symfony project swears by this. It's neither open source nor free, but it's $50-ish, which is reasonable. Starting to look really good.

Emacs. I was going to roll my eyes at this but it looks like there are serious native-GUI emacs versions worth trying, with PHP modes, and I will check them out. When there's a GUI I want it to follow GUI conventions, so I'll get pretty annoyed pretty fast if it reinvents too many wheels there.

Thoughts from the peanut gallery?

Date: 2009-01-29 03:16 pm (UTC)
From: [identity profile] center.livejournal.com
EMACS! :D

Date: 2009-01-29 03:18 pm (UTC)
From: [identity profile] center.livejournal.com
Oh, you preempted my joke. :( Teaches me not to read the full posting!

Date: 2009-01-29 03:31 pm (UTC)
From: [identity profile] georgejas.livejournal.com
I love textpad. For a long time, it was the only software I've paid for ($20), unless you count indirectly buying windows with your PC. Dunno how it works with a mac, but they are smart, and I have high hopes.

It is brilliant at respecting your tabifying, and helping you retab whole sections. I don't think it will automatically indent based on what language you're coding in, but sometimes you don't want that anyway. And who knows, maybe there's an add on for it by now. I started using it around '97, and still use it in tandem with Eclipse at work.

Textpad almost eliminates the need for Perl scripts sometimes when you're regexing away at a text file.

Date: 2009-01-29 03:31 pm (UTC)
From: [identity profile] wisn.livejournal.com
BBEdit bbedit BBEDIT bbedit BBEdit (http://www.barebones.com/products/bbedit/) bBeDiT BbEdIt.

Okay, it's considerably more expensive than TextMate. It doesn't have a VI mode (it does have an Emacs-ish mode). And I'm totally biased because i've been my primary text editor for, um, seventeen years now. On the other hand it does pretty nearly everything you request (It uses a file palette rather than tabs, but it is fully navigable by keyboard or mouse), includes CVS/SVN integration and will work with files via (s)ftp. The latest version has a decent (not great, but good enough) project document method for managing multi-file projects.

It even allows you to impose arbitrary column limits: My default window mode displays indentation columns (every 4 characters) and shades the page to the left of the 100th character. I also have it telling me what character type and return char type is being used, because when I'm working on team-developed CMSes that can get pretty random.

The freeware version, TextWrangler, is pretty good too but lacks pretty nearly every feature not strictly necessary for manipulating a text file.

Date: 2009-01-30 06:07 am (UTC)
From: [identity profile] substitute.livejournal.com
Seconded. Can't live without that thing. It's one of those apps that almost qualifies as "reason to use a Mac."

Date: 2009-01-29 03:35 pm (UTC)
From: [identity profile] dossy.livejournal.com
Uh, you're on a Mac now, right?

You really want MacVim (http://code.google.com/p/macvim/). I'm not kidding. No, it's not the same as Vim. It's a port of Vim to OSX, which means it feels like a natural, normal OSX app, because it is.

You can thank me later.

Date: 2009-01-29 04:32 pm (UTC)
From: [identity profile] boutell.livejournal.com
Hey, that's pretty cool. The tabs work they way they should work. That's a big deal.

I have been able to fix the crappy font and washed out colors. And putting set rows=100 set columns=220 in my .gvimrc takes care of filling the screen, which is good, because the maximize button totally doesn't.

But I'm not crazy about how the file open dialog always bumps me all the way back to the top and doesn't seem to try to make an educated guess that I probably want another file from the same neighborhood as the last one. It also doesn't remember that I enabled hidden files last time.

The mvim command line script does not open a tab and does not reuse windows, it complains when trying to open the same file again.

Still, this is a strong candidate. I'm going to try it for a while. Thanks!

Date: 2009-01-29 04:09 pm (UTC)
From: [identity profile] titlecharacter.livejournal.com
Speaking as someone who spends all day in Eclipse in a Linux environment, and is pretty happy with it:

TextMate.

Date: 2009-01-29 04:35 pm (UTC)
From: [identity profile] sambushell.livejournal.com
I'm in the BBEdit camp myself. vi is for checkin comments, and emacs for, ahem, email.

My preferences

Date: 2009-01-29 04:47 pm (UTC)
From: [identity profile] toastyman.livejournal.com
Mac:

bbedit (swiss army knife of editors)
coda (great for web development, so so for anything else)

Windows:

nusphere phped (the best PHP debugger i've ever used)

*nix CLI:

joe

Date: 2009-01-29 06:02 pm (UTC)
From: [identity profile] glaucon.livejournal.com
don't use emacs!
vi is so much better!

Date: 2009-01-30 10:01 pm (UTC)
ext_181967: (Default)
From: [identity profile] waider.livejournal.com
Despite being an Emacs fan myself, and having it on my MacBook, I can't bring myself to recommend either the GNU version or the Aquamacs port; the former is a raw port to MacOS, retaining all the standard keybindings, which is great except when you keep pressing ⌘-V to paste and watch as Emacs scrolls up a page. Aquamacs has the opposite problem, in that it seems like it's subverted or disabled the standard Emacs copy/paste keys in favour of the Mac standards. In short, neither of them made me happy out-of-the-box, but I use GNU because that's what I've always used everywhere and I can put up with the paste-vs-scroll irritation with only a small amount of swearing.

(I will now wait for 100,000 Emacs or MacOS weenies to tell me how I can reconfigure my Emacs keys. M-x apropos RET missing-point RET)

Date: 2009-02-01 12:57 pm (UTC)
From: [identity profile] princessleia2.livejournal.com
I'm going to vote you go with vim with a band-aid, there are loads of plugins and options you can use and I'd be really shocked if all of your issues weren't solved already somewhere.

And I like keeping with the 80 column layout for code. Kids these days! ;) In my experience it makes it far easier to read (even on a giant screen) and perhaps subconsciously sometimes makes me try to write more concise code, which is almost always a better thing.

Good luck.

September 2014

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 17th, 2017 10:20 pm
Powered by Dreamwidth Studios