views:

327

answers:

5

I'm looking for a perfect text editor :)

The "must have" list:

  • vim-like modal editing, keybindings similar to vim
  • emacs like extendibility - same "real" language for plugins and the editor itself, so that the extension can affect almost anything in the editor and outside... vim script is not enough, python plugin is not enough either
  • plugins are not limited with regards to external processes, can change the text asynchronously, etc.
  • supports termcap / curses, so that it can run a real terminal inside
  • uses real syntax parsing, so that plugins can get back information about the word's "type" without going through the "what's it's colour" path (synIDattr(synID(line("."), col("."), 1), "name") is a no-no)
  • remote editing possible (but that is probably already guaranteed by the plugins + extendibility points)

I know about viper emacs, but I'm not sure whether I like the idea... Does anyone know about something better?

Clarifications:

I'm not a full time programmer. I'm an admin / programmer / power user who already spends all the time in the console on many hosts at once and 95% of that time, it's vim running. I love vim, but I'm looking for vim-im ;) Eclipse doesn't cut it for me, as most of the time I'm editing configs / dsls with my own syntax files.

Sometimes I do need a kind-of-refactoring plugin for things that I do frequently. I have a proof that it can be done in vim, but it's real pain... You can't request a "previous token in parse tree" for example. The best that you can do is go back char-by-char and check if the word has the same colouring style as a variable/function/whatever (which requests parsing of the file fragment at every check). If I can't extend the editor in simple scripting language, it won't work for me either.

Also I frequently need to have a second terminal just to run something and copy the output to vim. I can't run :!r... because it hangs every tab in vim until the command is finished.

Ah - and linux + console only - I'm not interested in windows world :)

+2  A: 

From one vim'mer to another -- your search is futile, abort, abort, etc..

If you're frustrated at whatever editor your IDE is using (eclipse jumps to mind), then either use vi as an external editor, or get used to the text editor that the IDE uses. The reason being is that nobody, apart from vi users, finds vi natural, and therefore the demand for vi key bindings in any "modern" editor will be radically different.

If you really love vi and terminal mode and all that, use vi. If you want something a bit more intelligent, go with vim.

Nik Reiman
Actually I'm really happy with vim, but want more... That is - more of the console vim / emacs goodness :) not a fancy-looking mouse-use-forcing IDE :/
viraptor
A: 

Kate/Kwrite in KDE4.2 beta's now has a vim-like mode,

The whole [Esc] --> Command mode deal, the :help and s/ friends features are included.

Its not really a full implementation, but it has some of the basics covered.

There is also the Yzis editor which looks interesting and I can't wait for it to be stable enough to use, which lets you have the power of vim editing everywhere.

I can't wait to be editing my stackoverflow posts in a syntax highlighting editor with full power tools :D

Kent Fredric
A: 

There's a plugin for Eclipse that basically changes the editor for a vim editor.

Ubersoldat
Links, or it didn't happen.
Kent Fredric
I suppose he's talking about eclim: http://eclim.sourceforge.net/. I'm going to check it out some time...
Jonas
+2  A: 

SlickEdit: http://www.slickedit.com/content/view/73/60

pb169
As mentioned in clarification - I'm not interested in the windows land.Also "Create custom macros with a full-featured macro language" hardly satisfies ``"real language for plugins and the editor itself, so that the extension can affect almost anything in the editor and outside''
viraptor
SlickEdit isn't "Windows land"; it is available on Unix and Linux as well. Also, you added some of those constraints (linux + console) after I had originally answered.In my opinion, you won't find what you're asking for until you write your own editor.
pb169
+2  A: 

Found it after all :)

http://haskell.org/haskellwiki/Yi

Yi supports both vim (with modes and :commands) and emacs keymap. It uses proper incremental parser and is completely extensible with haskell (it interfaces with ghc and compiles your config/plugin + links itself to the result). Tabs, minibuffers and every other cool thing is supported.

I'm using it for the last couple of days and I'm really happy with it.

viraptor