It does not surprise me that it is 40% (and #1) amongst sysadmin/devops practitioners.
It does not surprise me that it is 40% (and #1) amongst sysadmin/devops practitioners.
Emacs I gave a try for a month, and I still felt like a beginner. There isn't a single core idea that you can master; it feels like it's a never ending series of chords that you have to remember for every plugin and lisp code that you have to write to configure and personalize everything for yourself. And pre-configured distributions like Spacemacs feel even more complex. Evil mode behaves like vim 95% of the time, but 5% leaves you buffled and completely, utterly lost.
Sometime in the future, when I have enough time on my hands, I will build myself an emacs build from scratch, learning every plugin as I go along. Right after I build my own linux distribution from scratch - oh wait, I already did that, and it took less time and mental space than Emacs.
http://alejandroerickson.com/j/2016/06/11/emacs-to-evil-to-s...
I prefer Emacs to Vim, but I prefer Idea for Java development over either, so since I mostly work on java projects on Linux servers, I actually use Vim significantly more than Emacs.
Vim and Emacs are editors for languages where you do more thinking and less writing.
- https://valloric.github.io/YouCompleteMe/
- https://github.com/kien/ctrlp.vim
- etc
Anything else can quite easily be added via more plugins or by using a terminal multiplexer like tmux or screen (or a more complicated terminal like terminator, iTerm2, etc
I use vim/tmux exclusively for my development, and while I don't use Java, I don't feel that I'm missing features that my coworkers running atom/vscode/etc have. I will admit that stepping through a debugger might be a bit harder, but I seem to find a few debugger plugins around, so I'm guessing someone has solved that.
VSCode does a pretty good job implementing the vim engine, IMHO. They integrate neovim directly [0]. The plugin has almost 2 million downloads, btw.
I think the future of vim is not "vim the editor", I think it's "vim the engine".
I guess this is also the reason why Vim is so much higher than Emacs in the stackoverflow survey.
I think huge disservice has been done to Emacs to use it as an email browsing or as an project management utility. One could use Elisp and do all sorts of curious stuff inside the software development workflow itself.
But if you are using it for editing and for that purpose only, I can absolutely see why vim would be winning. Its just the best lightweight line editor out there.
Day to day coding ... VS Code. Used to be Emacs, but I switched.
Oh and Vim is still the only editor I dare use to open a 1GB CSV file with.
There are actually editors which are disk-based instead of memory-based. The only one I can think of, though, is UltraEdit.
vim isn’t actually even so good at this. It still needs to read the whole file into memory. Yes, it doesn’t need to syntax-highlight the whole file, but it does still need to keep it in memory.
Other editors work by just loading enough of a big file to keep the illusion up that they have loaded all of it, when they are in fact dynamically loading and unloading parts as the user navigates within the file.
I think sublime works like that, though it still does something that requires load time proportional to the file length.
Many hex editors also do this, probably out of necessity because they are often used to inspect huge binary files (like disk images), though thanks to never having to do line wrapping, they also have it much easier to do so.
The learning curve is anything but smooth for Emacs. For Vim, it's much easier (note I said VIM, I'm not wasting my time with pre-direction keys typing methods)
I've seen developers even people with 10+ experience repeat several manual things in case of general software development workflow. Every developer must know how to automate things like this.
In fact everything apart from the thinking part should be automated in most cases.
A lot of my automation is done in Bash, some in Python and other languages, not necessarily in the editor
I don't care how you feel about nano, I use it less than .0000000000001% of my development time and it serves its purpose just fine.
80000(.0000000000001/100)60*60 = 2.88e-7 seconds spent in nano in your lifetime
[ I know it's an exaggeration :^) ]
To get a good vi v emacs question you’d want to ask “what is your primary text editing environment?” Or something like that.
I'm in the system files / remote box camp regarding vim, tho.