radiantmatrix has asked for the wisdom of the Perl Monks concerning the following question:
I am a *nix fan at heart. I use Linux exclusively at home, but I've now found myself in an interesting situation: I need to work on Perl for Linux, BSD, Windows, and MacOS/X. Beyond that, actually, I need to use that variety of systems to actually develop on: Linux at home, BSD, Windows, and OS/X at various sites for work.
I read perl editor on windows, Windows Text Editor for Perl, Perl Editor for Windows, and the best perl editor/ide on win32? already, but I'm still left with a question: What's a good editor, with a consistent interface, that works across all those platforms? Killer features, for me:
- Syntax highlighting. I'm a very visual person, and syntax highlighting is a must for me to be productive.
- Reasonable resource requirements. As a frame of reference, I find Komodo for Windows to be a bit sluggish.
- Folding. That is, the ability to visually collapse a block into a line, making it easier to navigate the massive spaghetti of code I'm being asked to maintain.
- Project support. I'm a sucker for projects a la Komodo: a collection of related files that are linked by virtue of my telling the editor that they belong together, nevermind where they physically reside. Directories are not projects. ;-P
- Feature and interface portability across platforms. They don't have to be exact between platforms, but menus, toolbars, and shortcut keys should be as similar as possible by default -- or have easily-cloned configuration (think text files).
- Update: I forgot, multiple workspaces in one window (either tabs, or switching a la screen)
Those are required, what would be nice:
- Integrated CVS/Subversion. I must use one of those two version-control packages: I don't care which, but it would be nice to have them integrated into the editor.
- Programmable macros.
- "Snippet" support. Click button, automagically insert template for module, that I wrote and saved earlier, with project-specific metadata already filled in.
Any ideas? I've tried the ported versions of Emacs and Vim, but I find they both lack features I rely on. The closest I've come is FTE, but it hasn't proved stable on all the OS's, and doesn't have project support.
I welcome your wisdom, O great cross-platform Monks!
Update: I have settled on using Emacs, as the newest version for Win32 seems to work beautifully. Thanks to oknow's suggestion of using the Speedbar, I no longer use folding. As for project management, nothing I've found for Emacs works, so I'm rolling my own. It's essentially a Tk application that reads file names and paths from a flat text file and calls out to Emacs to open them when clicked. Same deal for snippets.