views:

155

answers:

5

Hi.

I understand this question is very personal for everyone :), but still I'm forced to ask it. Currently I'm using VIM and gVIM as my main editor, but imho it has a lot of downsides:

  1. Very inconvenient scripting language.
  2. Indentation and highlighting with regexps (real life shows that it's not the best idea).
  3. Mixed file types issues (i.e. erb, html (+js +css), php +html, etc...).
  4. Lack of auto-completion (i know there's a Acp and couple of other scripts, but i don't like the way they work with different programming languages and not take into account peculiarities of the programming language).

I've got more wining, but I don't think someone want to hear it :) This are the points making most problems for me.

So I'm looking for a new editor. Which should:

  1. Have some common scripting language (i.e. Python, Perl, Ruby, etc...) and good extensibility.
  2. Auto-completion.
  3. Window splits (when you try it, you can't live w/o it :)).
  4. Support of multiple languages and good support of mixed modes (definitely must have).
  5. GUI support. With ability to create/instantiate widgets from extensions.

If editor has this features, it means it is what I want. I saw lots of options, tried Emacs, jEdit and dozens of others, but I didn't find anything satisfying this 5 points. The only editor that was satisfying 4/5 points was gEdit, but I can't live w/o splits :(

If someone knows such editor please share.

Thank you :)

P.S. No holy wars plz.

A: 

Though you are looking for only the editor, if you don't mind big IDE, then you can try NetBeans. It has many advanced support for multiple language. From Wikipedia, "NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, and others."

taskinoor
I've tried NetBeans and impressions are the same as Eclipse gives: big and slow :(
Daniel
Also as I know NetBeans is extensible only with Java-written plugins and I don't know Java.
Daniel
Agreed. Though I don't fetch much problem with 3GB RAM. But it's a huge amount of memory. BTW, you have not said in the original question that you have tried IDE like eclipse and netbeans.
taskinoor
It's better to say what language are you trying. When you ask general, answer will also be general.
taskinoor
I'm working with PHP, JavaScript, HTML, CSS and Ruby. For my home scripting I'm using Perl and Bash + sometimes I need to hack some tools written in C.
Daniel
+4  A: 

I think Kate comes close:

  1. Have some common scripting language (i.e. Python, Perl, Ruby, etc...) and good extensibility.

    You can automate certain tasks in Javascript, although the API is somewhat limited... but the developers are working on it. (That's a fairly new feature)

  2. Auto-completion.

    Kate has it (almost too much - it sometimes autocompletes things I didn't want it to). I believe it autocompletes based partly on the words you've used in the current file.

  3. Window splits (when you try it, you can't live w/o it :)).

    Available on the View menu

  4. Support of multiple languages and good support of mixed modes (definitely must have).

    Syntax highlighting is available for many languages including mixed modes like CSS within HTML <style></style> or JS within <script></script>, and you can write your own syntax highlighting files to support additional languages or combinations

  5. GUI support. With ability to create/instantiate widgets from extensions.

    It's a GUI program, hopefully that's enough support for you... and Kate supports a plugin system where plugins are able to create their own menu items (or menus), sidebars, dialogs, etc.

David Zaslavsky
It wants a lots of KDE libs (total install size is ~190M), but it really seems to be what I need.
Daniel
Yep, it's a KDE program (just as gEdit is a Gnome program), so a large install if you're not already using KDE.
David Zaslavsky
Kate is the best editor I ever saw :) Thank you very much! :)
Daniel
Kate is awesome, and I support KDE over Gnome too =]
Falmarri
KDE is very heavy. I'm using OpenBox + fbpanel + Tilda + gRun + lilyterm for environment. This all takes < 70M RAM. KDE has lots and lots of useful features, but its really to heavy.
Daniel
A deeper look has shown that only built-in interface looks good, scripting with JS is possible only for commands and indentations, nothing else: no widgets, no interface interaction, etc... Docs suck. They just don't exist. No references, no guides, only couple of introductions :(
Daniel
Like I said, the scripting engine is pretty new and a work in progress.
David Zaslavsky
A: 

I use the Komodo IDE (commercial, expensive) to write Perl code.

There is a free edition, Komodo Edit, that doesn't have the IDE features but works well as an editor.

lexu
I saw it. Limited amount of extensions, very heavy, after trying to find out how to extend it I've understood that this is definitely not what I want.
Daniel
@Daniel: **Editors are like shoes. They fit, or they don't...** I am glad you realized Komodo is a bad fit, before you got blisters ..
lexu
A: 

Bluefish is a pretty full featured, yet lightweight editor, and meets most of your needs. Check out the list of features.

ars
I saw Bluefish and as I remember (feature list confirms nothing changed): it doesn't have extension system and can't do window splits.
Daniel
+1  A: 

Emacs

  1. Use Pymacs.
  2. Emacs has semantic.
  3. Of course.
  4. nxhtml mode supports the case of CSS and JS in HTML, along with other preprocessors (PHP, etc). This is a weak point of most text editors, and Emacs is no exception. The multi-major mode feature is specific to the major mode in use and isn't general purpose.
  5. Its a text editor. It has text ;)
Yann Ramin
Pymacs is outdated and as I know not supported. nxhtml actually uses mumamo for combining major modes. Emacs has eLisp for extensions. I didn't like it :( Its more personal issue than language problem. Also Emacs doesn't have threading or GUI widgets.
Daniel