5 ms·
I am curious what "add IDE features" means. It seems like a wide-open feature request. A few things I can think of: * Better support for background tasks .. :
by oinksoft 13y ago
I am curious what "add IDE features" means. It seems like a wide-open feature request.
A few things I can think of:
* Better support for background tasks .. :mak, :grep, system(), :! without interrupting editing.
* Fancier errorlist and locationlists. cexpr()/lexpr() really make you fit round pegs into square holes.
* Better omni-completion performance (any completion dialogs other than <C-N>, buffer keyword completion, are unusably slow for my purposes).
* Built-in support for some filesystem operations. NERD_tree/:! can be clunky, and dropping into the shell isn't always ideal.
* Real shell buffer .. I know I'll get my head cut off for this because it is quite emacs-y, but it would be nice to be able to run my shell in a buffer. At the very least, it would be nice to have :sh be a somewhat capable terminal that could handle colors and generally feel like a normal terminal.
I'm excited to see 7.4 because it looks like some real new direction for the project, for better or worse. I'm sad to see VimScript de-emphasized, having invested a good bit of time in getting good with it, but VimScript is pretty slow, so this is good news.
- jaredmcateer 13y agoThe vim voting page describes the IDE features as a built in debugger and shell window.
- nathan_long 13y ago>> I'm sad to see VimScript de-emphasized, having invested a good bit of time in getting good with it, but VimScript is pretty slow, so this is good news. I'm a Vim enthusiast who hasn't tried Emacs, but one thing I've heard that makes me jealous is that they can script their editor using a flavor of Lisp. This is extra awesome for devs whose primary language is already Lisp. Sometimes I wish for a Vim-like editor with a nicer scripting language, but "Vim-like" is such a huge target at this point that any effort is bound to displease most users by omitting the one tiny feature they personally love. If Python becomes useful for scripting Vim, that would be awesome in my book.
- sophacles 13y agoIve always thought Lua would be a good vim scripting language. * It's designed to be embedded * It's easy to expose functionality and API's * It's fast * IME if other languages are also embedded, and a thoughtful API/plugin arch is created, functionality from other language plugins can be easily accessed in lua. (I know, bunch of caveats there, but if I'm dreaming...)
- Avshalom 13y agoonly thing about Lua is that strings are immutable so certain kinds of operations can be very slow.
- hetman 13y agoThey are also immutable in Python.
- ShawnBird 13y agoWhat are you talking about? http://docs.python.org/2/library/string.html http://docs.python.org/2/library/string.html
- pyre 13y ago>>> a = "string" >>> a[1] = 'g' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment >>> b = a.replace('t', 'g') >>> b 'sgring' >>> a 'string' >>> id(b) 3065252256L >>> id(a) 3075481632L Also from here[1]: Strings and tuples are immutable sequence types: such objects cannot be modified once created. [1] http://docs.python.org/2/library/stdtypes.html#mutable-sequence-types http://docs.python.org/2/library/stdtypes.html#mutable-seque...
- ShawnBird 13y agoOh. I guess I never thought of strings as immutable because there are so many ways to change them.
- rgrau 13y agoevil-mode[1] is a really well crafted vim emulator for emacs. Not those clunky emulations that barely do hjkl but something that replicates even text objects or repeat (.) . This made my migration from vim to emacs possible. [1] http://gitorious.org/evil/pages/Home http://gitorious.org/evil/pages/Home
- gnosis 13y agoAfter over 20 years of very happily using vim and other vi-clones, I'm in the process of making emacs+evil my main editor. Making the switch is slow and painful for this veteran vim user who has perfected his vim environment, but I can already see that the emacs environment that I build will be superior... eventually. Plus, I get the joy of scripting my editor in elisp and eventually guile (I hope). No more vimscript for me! That said, vim is a wonderful editor. Even if vim ultimately isn't as flexible as emacs, it's still incredibly powerful; and there's a lot of cross-fertilization going on between the two editors, with vim users getting inspired by emacs features and packages and writing vim equivalents and vice-versa.
- eric-hu 13y agoI'm thinking of making the switch. Are you able to port your vim plugins to emacs in evil mode?
- gnosis 13y agoI don't know if it's possible to automatically port vim plugins to evil. However, according to the emacswiki page on evil[1], a number of vim plugins have been ported: evil-surround: Port of Vim’s surround script. evil-numbers: Vim-like increment and decrement. evil-leader: Port of Vim’s mapleader. evil-rails: Port of rails.vim. evil-nerd-commenter: Port of Vim’s Nerd-Commenter Also, there are many emacs packages that provide functionality that's more or less equivalent to various vim plugins (sometimes even unenhanced emacs will already be capable of doing what you need). Just a couple of tips for vim fans giving emacs+evil a go: * Don't expect to quickly master emacs or quickly be able to replicate the vim environment you spent years perfecting. Getting emacs set up nicely will take a lot of learning, tweaking and hacking (especially if you want to make it more vim-like). Be prepared for that. * Come to #emacs and #evil-mode on freenode for help. * You might want to go through the emacs tutorial (C-h t) before you install evil or do any other customizations. That'll teach you some basics of emacs that you'll run in to elsewhere, and help minimize confusion. * Search the emacswiki[2] on any topics you're interested in. There's a lot of good stuff there. [1] - http://www.emacswiki.org/emacs/Evil http://www.emacswiki.org/emacs/Evil [2] - http://www.emacswiki.org http://www.emacswiki.org
- johncoltrane 13y agoYou can write plugins with Racket. However the API is AFAIK the same as for Python or Ruby so you can't really escape vimscript.
- UNIXgod 13y agoWant lisp the original source for Bill Joy's vi supports it. http://ex-vi.sourceforge.net/ http://ex-vi.sourceforge.net/ Happy hacking =)
- fooyc 13y agoA vimL API for parsing code, with AST, code transformations, and un-parsing would be a huge step in that direction. This would allow plugins to all sorts of crazy stuff, with less magic, less regex, and more robustness. This would make code completion better, too.
- richo 13y agoBackground tasks, check out dispatch.vim[1] https://github.com/tpope/dispatch-vim https://github.com/tpope/dispatch-vim
- snarfy 13y agoIf you code C#, OmniSharp is quite awesome: https://github.com/nosami/Omnisharp https://github.com/nosami/Omnisharp Real intellisense, find usage, refactor, etc.
- bostonvaulter2 13y agoWhy is everyone talking about "add IDE features", it doesn't sound like he is planning to implement that request. He was just listing out the top requests.
- mercurial 13y agoIn terms of "pointing out stupid mistakes to you before you try to compile/run your code", which is a very important IDE feature in terms of not wasting your time, you can go pretty far with syntastic[1]. This does not help with verbose languages which need autocompletion (you know the ones I'm talking about), managing import lists or automated refactoring, but it's still really good to have. 1: https://github.com/scrooloose/syntastic https://github.com/scrooloose/syntastic