9 ms·
Am I missing out by not learning Vim? I know enough to get by for git purposes (renaming all picks to s is amazing), but I feel like I'm really productive with
by vdnkh 10y ago
Am I missing out by not learning Vim? I know enough to get by for git purposes (renaming all picks to s is amazing), but I feel like I'm really productive with Webstorm. There's a ton of great shortcuts and great features (multi-cursoring, intelligent refactoring, customizable search directories, integrated terminal, etc.) that I feel outplay anything I could do with Vim.
- joshlemer 10y agoWebstorm (and all IDEA-family IDEs, as well as most IDEs in general) has a fantastic Vim plugin that allows you to use vim bindings within the text-editor of the IDE. That's what I use and it saves me so much pain. https://plugins.jetbrains.com/plugin/164-ideavim https://plugins.jetbrains.com/plugin/164-ideavim
- mod 10y agoFWIW as a 'real vim' user I typically find these plugins severely lacking. For instance, I've recently tried the ones in Atom and VSCode and they were both incompatible with my normal workflow. In one of them you couldn't save files with :q, for instance. They're works in progress, likely--and I'm still grateful to the teams who work on them. They just weren't enough for me.
- 2muchcoffeeman 10y agoThe Jetbrains plugin is really good. So far I've found that it covers everything I use. Saving is not an issue with Idea since it autosaves and keeps a local history of your changes as you work.
- deadbunny 10y ago^o is always the one lacking for me.
- blaenk 10y agoI completely agree. Perhaps things have changed for some of these plugins since I last tried them, but the only one that has not only basically matched Vim but exceeded it is Evil for Emacs.
- saamm 10y agoI've found the IDEA Vim plugin to be good enough for most of my work, but the macro support isn't great. Specifically, I miss running macros on multiple lines with `:norm@q`.
- tombert 10y agoThe JetBrains apps actually have a very good Vim plugin, so you could really get the best of both worlds. I view Vim as half-editor, half-editing philosophy. The editor is just an app that I like, but I feel that embracing the philosophy does make me more productive and able to accomplish a lot.
- vram22 10y ago>Am I missing out by not learning Vim? You may be, though ultimately it depends to some extent on personal preference. If you want to check it out, try this vi quickstart tutorial by me: https://gumroad.com/l/vi_quick https://gumroad.com/l/vi_quick I initially wrote it for a couple of Windows sysadmin friends at their request. They had been given a few Unix machines to manage. They said it helped them quickly get up to speed with the basics of vi. I later published it as an article in Linux For You, a print computer magazine (now Open Source For You).
- Kenji 10y agoNo. I used vim for half a year and then went back to notepad++ and similar for plain editing. The bottleneck in programming is thinking anyway, and not typing. It does not make a difference. For serious coding, I recommend a serious IDE.
- c22 10y agoFor me the bottleneck is finding where I need to read something to understand and then going back to where I need to add or change something.
- douche 10y agoAn IDE with half-decent code browsing capabilities, then. Like VS with ReSharper, or IntelliJ and derivatives.
- flukus 10y agoAny that don't suck at windowing? They all want to show only one, or at best two files at a time. They're primitive compared to the windowing capabilities of vim/emacs/tmux.
- douche 10y agoNo, not really... prior to 2017, that was one of my biggest gripes with Visual Studio - opening multiple editor windows in one instance would quickly chew up enough memory to hit the 32-bit process limit and start page thrashing. Why, I have no idea, but that's what I've seen consistently the past few years in VS 2013 & 2015.
- flukus 10y agoDoes it do better now? Can you have 12 windows arranged at once? If so, please tell me how because I spend most of my day in VS. but time and time again I need to open shit in vim, just to get a clear overview.
- Jach 10y agovim, like emacs, is a programmable text editor. Maybe $your_favorite_ide totally outplays vim (or emacs) at some feature, or maybe someone has written a plugin that has an equivalent (or better, or somewhat worse but acceptable) version of the feature, you'd have to look if that's your main criteria. But also note there are many plugins that don't exist in other editors, and of course for vim there's the various macros/functions/key maps that exist in users' memory or .vimrc files that they wrote themselves or got somewhere that solve all sorts of tasks, general and specific. Anyway, being programmable, you don't have to wish the makers of the editor made some feature you saw in some other editor, you can just program it (or convince someone in the community to do so), plus there's all the various tasks of text editing that really benefit from being able to automate something this one time. If you don't care about programmability of your editor, you're probably not missing anything.
- deleted 10y ago[deleted]
- tomsthumb 10y agomultiple cursors: is nothing compared to the confirm flag in `:%s/foo/bar/gc` + columnar editing in conjunction w/ something like tabularize intelligent refactoring: is extremely unlikely to happen soon customizble search directories: is way more flexible in a terminal than anything i've ever seen an IDE guru do. it's not vim though. it's vim + shell. integrated terminal: you're already in the terminal, using tmux doubles down on the benefit vim has way more flexible buffer pane layouts + tabs + sessions (IDE's also have sessions, but vim can do multiple sessions for a project). i've never seen an IDE with anything like the jump stack, marks, multiple yank registers, the flexibility of macros, or anything like `:r !$COMMAND` or for that matter `:w !$COMMAND`. basically no IDE has anything which matches vim's `NormalMode`. type aware code completion and syntax checking is available depending on the language. these things aren't free though. you have to invest before they pay out.
- marklgr 10y ago> multiple cursors: is nothing compared to the confirm flag in `:%s/foo/bar/gc` Why is that? I'm a long term vim user, and I prefer multiple cursors to 's///gc' for many operations. Unfortunately the multiple-cursors implementation (via plugins) is not flawless, but it's quite handy for standard usage.
- tomsthumb 10y ago`gc` makes it much more flexible and faster if i know i have a small number of "exceptional" matches, especially early in a buffer since it offers you `y/n/a/q`. i also find it much faster than clicking potentially dozens of places in the code vs spewing `$ROUGH_REGEX` then mashing `yyyynnyyyna` to make edits in 70 locations.
- 2muchcoffeeman 10y agoDepends a lot on the work that you have to do I guess. I can spend a lot of time on remote systems, so learning a powerful editor that I can rely on to be there was useful. And all linuxes usually have vi or vim. But if you don't do that sort of thing, there are plenty of other tools that you can use. Most are probably far easier than learn vi. But I like using command line tools where possible. Most are available everywhere and they are incredibly powerful once you learn parts of them.