4 ms·
I feel pretty much the opposite. IDE's seem incredibly limiting and feature-poor compared to editors like vim and emacs, which can do just about anything. Reg
by pmoriarty 4y ago
I feel pretty much the opposite. IDE's seem incredibly limiting and feature-poor compared to editors like vim and emacs, which can do just about anything.
Regarding your specific examples, both vim and emacs have file histories and if your files are under version control it's easy to get diffs.
Searches are super powerful in both vim and emacs, and it's easy to search across multiple files as well using various scripts/plugins.
The main downside to using editors like vim and emacs is that you have to be a pretty advanced user of them and spend a lot of time configuring them to really feel their power. If you've just dipped your toes in they're not going to look very impressive and you'll likely be disappointed.. but invest the time and they're very hard if not impossible to beat.
- kioleanu 4y agoCan vim and/or emacs do refactoring? That is a feature that I use daily and couldn’t live without
- kstrauser 4y agoYes. Well, Emacs definitely can, and I have no doubt Vim can with the same tooling. For example, Emacs has excellent support for LSP. If a language server exists for your favorite language, and it supports refactoring, then so does Emacs.
- aidos 4y agoYou’ll find that most of what happens behind the scenes in vscode is available in neovim (and probably vim and emacs). The heavy lifting is done by lsps these days. One notable exception is that neovim has treesitter, so you get immediate semantic analysis on your code which allows for much more flexible refactoring. Like everything in vim, you need to spend time setting these things up to streamline your common workflows.
- Keyframe 4y agoOf course, both coc and lsp are your friends there. Want to change variable or function of class name or whatever? No problem. Take this piece of code and wrap it into a function, and where it once stood just place the function call? No problem. Etc.
- renox 4y agoNote that refactoring only exist for some language: for Java it exists in some IDE, for C++ no.
- Liquid_Fire 4y agoCLion absolutely has refactoring for C++ (perhaps not as powerful as for Java, but there is plenty).
- lelandfe 4y agoWorth noting that debuggers, which frequently have complex interfaces, are generally much better suited to GUI applications. Having a good debugger integrated with my code editor is basically the reason I use an IDE instead of vim. Stuff like Vimspector exist but are way more work to use vs. a GUI equivalent.
- cassepipe 4y agoThe gdb TUI with a simple config and a simple readline config from a terminal has personally done wonders for me. I get vi mode, tab completion, syntax coloring, a colored prompt and really all I could ask for. I have aliased gdb to "gdb - q -ex start --args" and the experience is very nice.
- ar_lan 4y agoIf your debugger implements the DAP protocol then Neovim is currently capable of a just-as-good debugging experience in my opinion. The sole exception in my opinion is remote debugging (it’s not too bad, but JetBrains really bootstraps this part very well).
- saurik 4y agoI think the interesting thing with debuggers, though, is that I relied heavily on debuggers back when I was relatively new to programming (maybe the first 10-15 years or so), but once I started to feel like I knew what I was doing--and the stuff I was doing became a lot more complicated--debuggers started to feel a lot less useful and even frustrating or limiting... particularly so given that to actually make a debugger work really relies on you buying your entire project into some unified concept of how execution will happen, as the ability to step across IPC/VM/network boundaries is otherwise a pipe dream. I thereby only feel like I get value out of stepping through some code only once every year or two, and gdb is more than good enough; otherwise, I always make sure I have really good mechanisms for logging and error handling, and leave the debuggers for when I'm teaching someone how to code.
- soledades 4y agoThis but less insultingly.