Vim as a Python IDE, or Python IDE as Vim(blog.jetbrains.com)
blog.jetbrains.com
Vim as a Python IDE, or Python IDE as Vim
http://blog.jetbrains.com/pycharm/2013/06/vim-as-a-python-ide-or-python-ide-as-vim/
10 comments
I can share much of the thoughts regarding RubyMine (a Ruby IDE by JetBrains). While it is not the best text editor out there (I used to use Emacs for Ruby stuff), the IDE features are great and (for me) outweight some of the niceties that Emacs or Your Favourite Text Editor has. Symbol navigation works across libraries and the graphical debugger is great. Autocompletion could be better, but I understand how the dynamic nature of Ruby (and especially Rails, which uses a lot of metaprogramming magic to do its thing) makes it sometimes hard to do 100% accurately.
(I'm not affiliated with JetBrains, just a happy customer)
(I'm not affiliated with JetBrains, just a happy customer)
In the same vein, I've been very happy with AppCode, the Objective-C IDE from JetBrains. Its refactoring, templates and code generators are a great time saver.
The vim emulation sometimes falls short compared to vim (missing Ctrl-N autocompletion and surrounds very much), but allows me to edit quite efficiently nonetheless, while having a comptetent autocompletion engine.
(Also just a happy customer)
i'm a big fan of jetbrains, but this is a poorly written article.
> Here is a poignant example of Vim being overloaded.
i don't see how this is any different from opening every toolbar window in PyCharm and cluttering the interface.
> Nothing can replace Vim, but IdeaVim feels closer than any other editor’s attempts
emacs evil does the best emulation. IdeaVim fails at two of the most important emulation tasks: escape and undo.
i used webstorm for a while to do javascript/html, but once i got proficient with vim it wasn't even close. just like how people are going crazy with livereload and how it makes development awesome, that's how i feel with using vim. it does what i tell it to do NOW, not 3 seconds from now.
> Here is a poignant example of Vim being overloaded.
i don't see how this is any different from opening every toolbar window in PyCharm and cluttering the interface.
> Nothing can replace Vim, but IdeaVim feels closer than any other editor’s attempts
emacs evil does the best emulation. IdeaVim fails at two of the most important emulation tasks: escape and undo.
i used webstorm for a while to do javascript/html, but once i got proficient with vim it wasn't even close. just like how people are going crazy with livereload and how it makes development awesome, that's how i feel with using vim. it does what i tell it to do NOW, not 3 seconds from now.
Vim is a vi clone with a massive number of improvements and extensions. The title should have read:
Vim as a Python IDE or Python ID with some vi stuff added
Because, I don't love vim for hjkl and "some" ex commands.
Vim as a Python IDE or Python ID with some vi stuff added
Because, I don't love vim for hjkl and "some" ex commands.
Im a vim nutball - and i now swear by pycharm + ideavim. I had been using plain vim as my python editor for a long time - and still use it for remote editing and on the fly fixes; That being said, I tried out pycharm with the ideavim about three months ago and it has improved my productivity and the quality of my code base. Pycharm brought several things together: excellent refactoring capabilities, visual step through debugging with realtime pause/breakpoint edits and gevent support, brilliant code and library navigation, code inspection, selective pep compliant formatting that's vcs friendly, vcs integration (though I still prefer command line hg/git + vimdiff), autocompletion that's doesn't need to be configured manually, regex search replace that's actually better than <,>s/a/b/, fast switching between virtual envs, recognition and maintenance of requirements.txt files, support for multiple vcs flavors, and automatic and frequent detection of remote changes.
Ideavim Is not vim. But it does support enough vi features for me to work with extreme productivity. If there were a couple of things that I have to flag as killer fails, it's the poor support for change lists and vsplit/split. Navigating backwards and forwards through changes doesn't work very well in ideavim - there are workaround, but nothing so primal as g[;,]. Other than that I don't find myself missing all that much - the hybrid of core vi features with IntelliJ features more than makes up for the missing vim features - I could never go back.
Ideavim Is not vim. But it does support enough vi features for me to work with extreme productivity. If there were a couple of things that I have to flag as killer fails, it's the poor support for change lists and vsplit/split. Navigating backwards and forwards through changes doesn't work very well in ideavim - there are workaround, but nothing so primal as g[;,]. Other than that I don't find myself missing all that much - the hybrid of core vi features with IntelliJ features more than makes up for the missing vim features - I could never go back.
My personal favourite IDE for Python is WingIDE...the introspection, code completion and debugger are very impressive (step through Django templates in the debugger!).
I recently switched to editing in VIM and using jedi-vim & a few other plugins to get the same Python experience that WingIDE delivers. My conundrum is that I absolutely fell in love with vim (this was my third or 4th go round with vim fwiw) as a text editor but the Python experience can't touch Wing. Wing has a vi mode, but it is not even close to being an actual vim editor. Now I find myself constantly flip-flopping between Wing & vim and finding both slightly unsatisfactory.
I've tried JetBrains, but prefer Wing as it seems smaller and easier to configure. I don't have enough experience with IdeaVim but I'm almost certain it won't deliver a proper vim experience (comments by mmahemoff seem to back this up).
I think I will probably settle on vim and live with the reduced Python integration...and possibly switch back to Wing when using a big unfamiliar library...The introspection is a huge help when exploring something like wxPython or QT.
I recently switched to editing in VIM and using jedi-vim & a few other plugins to get the same Python experience that WingIDE delivers. My conundrum is that I absolutely fell in love with vim (this was my third or 4th go round with vim fwiw) as a text editor but the Python experience can't touch Wing. Wing has a vi mode, but it is not even close to being an actual vim editor. Now I find myself constantly flip-flopping between Wing & vim and finding both slightly unsatisfactory.
I've tried JetBrains, but prefer Wing as it seems smaller and easier to configure. I don't have enough experience with IdeaVim but I'm almost certain it won't deliver a proper vim experience (comments by mmahemoff seem to back this up).
I think I will probably settle on vim and live with the reduced Python integration...and possibly switch back to Wing when using a big unfamiliar library...The introspection is a huge help when exploring something like wxPython or QT.
I'm currently looking to adapt vim for Python development. What are the other plugins that you use or would you possibly even share your .vimrc?
.vimrc isn't available to me right now, but off the top of my head the ones I use the most are CtrlP, Flake8, supertab, jedi-vim, surround, UltiSnips and solarized color scheme.
Really, commercial software shitting over opensource alternatives is bad taste.
This article really removed some of my enthusiasm for Jetbrains products, even though I like them a lot.
It's incredibly ignorant and blatantly false to anyone knowledgeable about both.
As an example, I don't know how the author could claim that IDEAVim is comparable to the emulation either EVIL or ViEmu has, and that claim would not be so bold if IDEAVim was not a facsimile of even VI.
And using Python as an example to use in a lie is not very smart as it is one of the better supported languages in VIM for those trying to emulate an IDE's features to an extent.
It's not as though Jetbrains is trying to sell itself as a VIM replacement, that angle is nonsensical as one is an IDE and VIM's quite antagonistic to merging non-text editing features into the defaults.
Plus, lets assume the author's claims are true.
The author claims VIM is horrible, but then concludes by championing what the author just finished deriding as something PyCharm is a paragon of (VIM's design), what?
The article is incredibly distasteful and tries to sell a lie to an incredibly technical audience deft at parsing nuanced information that is much more knowledgeable about the domain than the author portrays.
There is no reason for Jetbrains to promote such base trash instead of continuing to stand on its own merits, which it has been doing well so far.
I hope Jetbrains has the integrity to at least apologize for the blatant stupidity on display in the article soon as it is horrible in all facets and very insulting.
It's incredibly ignorant and blatantly false to anyone knowledgeable about both.
As an example, I don't know how the author could claim that IDEAVim is comparable to the emulation either EVIL or ViEmu has, and that claim would not be so bold if IDEAVim was not a facsimile of even VI.
And using Python as an example to use in a lie is not very smart as it is one of the better supported languages in VIM for those trying to emulate an IDE's features to an extent.
It's not as though Jetbrains is trying to sell itself as a VIM replacement, that angle is nonsensical as one is an IDE and VIM's quite antagonistic to merging non-text editing features into the defaults.
Plus, lets assume the author's claims are true.
The author claims VIM is horrible, but then concludes by championing what the author just finished deriding as something PyCharm is a paragon of (VIM's design), what?
The article is incredibly distasteful and tries to sell a lie to an incredibly technical audience deft at parsing nuanced information that is much more knowledgeable about the domain than the author portrays.
There is no reason for Jetbrains to promote such base trash instead of continuing to stand on its own merits, which it has been doing well so far.
I hope Jetbrains has the integrity to at least apologize for the blatant stupidity on display in the article soon as it is horrible in all facets and very insulting.
[deleted]
a lot of the features mentioned in the post are available in vim plugins. not only that, but
I've tried hard to use JetBrains' IDEs, having paid full-price for IntelliJ at one point, and later RubyMine. And the thing that stopped me both times was IdeaVim not being good enough. It has reasonable functionality, but you can forget about using any standard Vim plugins, muscle memory gets confused when some things don't work, and it can really slow things down. Playing back macros (which it does at least support) can grind the editor to a halt.
So I went back to Vim. Running NERDTree and most importantly NERDTreeTabs plugin. As well as other useful stuff like Ctrl-P. It's a good setup. Not perfect; it's still fundamentally a 30 year old editor and it seems like something's wrong not to be able to take advantage of all of the great features in IntelliJ's tools, but text editing is still the highest priority when coding.