4 ms·
> You can start climbing the levels of Emacs proficiency, a ladder that has no end I switched from VSCode to (Doom) emacs and I think this point is important.
by loveparade 4y ago
> You can start climbing the levels of Emacs proficiency, a ladder that has no end
I switched from VSCode to (Doom) emacs and I think this point is important. With VSCode, my productivity had been constant over time. From the first time I opened the editor, it was intuitive, and my workflow barely changed over the years. It has amazing defaults that just work. Most people don't ever think about making significant changes to these defaults. Extensions do lots of magic and I just cross my fingers that they work as advertised.
With Emacs, I was less productive the first 2-3 months after switching. Then I got to about the same level of productivity I had with vscode. A couple more months later, I think I am now more productive than I was with vscode.
- nequo 4y ago> A couple more months later, I think I am now more productive than I was with vscode. What things in Emacs have made you more productive than you were with VS Code?
- m463 4y agothe "e" in emacs no, not "escape" (escape meta alt control shift)... but "extensible"
- spit2wind 4y agoThe "e" in Emacs stands for "editor", if anything. The name "emacs" originates from "editor macros". Your point still stands. Emacs embodies extensibility.
- zkry 4y agoNot sure about the OP but having used Emacs for 4 years and being proficient in Elisp, just the fact that I can spend a small amount of time writing Emacs lisp to automate anything. Like for example spending a few minutes to make any Jira ID text a link to the tickets page, list my GitLab ToDos at the bottom of the screen, or perform complex multi-step data manipulations/visualizations accessable from a single key binding. The more things that enter Emacs, the more things can be automated together.
- 7e 4y agoWouldn't those things be better done at a meta-level with watchers/pipes/scripts, or in a build system?
- zkry 4y agoCould be, I guess it just depends on the context. Emacs shines when it involves interactivity. For example, recently I was exploring a large CSV file with some columns being base64 encoded keys. So when exploring this dataset, it was nice to come up with a command to get the item, base64 decode, perform HTTP request, get the response, and display it in another buffer pretty formatted. Making a command to do this in Emacs Lisp is surprisingly easy (just need a few functions like thing-at-point, base64-decode-string, request, insert, display-buffer, and json-mode). A shell script for this use case may lack the desired interactivity.
- michaelteter 4y agoThis would make a great emacs workflow demo video. Maybe I haven’t been searching for these videos in the last few years, but they don’t seem common. However, I think such examples could help developers increase their productivity while also energizing a new generation of emacs users.
- saeranv 4y agoWhat do you mean when you say "interactivity"? I'm a vim user, so I feel like I'm missing some context about how emacs is used or understood here...
- ajitid 4y agoCan you share this piece of code?
- deleted 4y ago[deleted]
- loveparade 4y ago- Emacs buffer, window and project management. I wasted so much time in vscode navigating across projects and windows - That I don't need to switch out of emacs for git (magit is great), complex file operations (dired), and other things like repl/shell/complex rgreps/etc - Vim keybindings. I know this isn't related to emacs, but with Doom emacs I forced myself for the first time to rely much more on keybindings. I could probably do something similar with vscode, but it's not built for this and doesn't encourage it. It's painful in the beginning, but over time you're much faster with these keybindings. - In general, I feel like I can customize it. I feel like I have control. For example, I had a painful time managing nested projects using multiple languages in vscode. The LSP extension's "defaults that work most of the time" get in the way when you're doing something that's a bit esoteric. With emacs I can easily customize it. This is just one example, but the point applies in general.
- zelphirkalt 4y ago> - Emacs buffer, window and project management. I wasted so much time in vscode navigating across projects and windows This. So much. The number of times I have seen people fumbling around with multiple VS Code windows and closing and opening it again in another directory, because the working directory wasn't right and switchting between loads of tabs they opened, overflowing the tab bar ... It isn't even funny any longer. Another point to that is, that in Emacs I can press `C-x 1` at any time to get everything except the current buffer out of the way, using all the screen estate I want for some buffer, be it a shell or a code buffer. > - That I don't need to switch out of emacs for git (magit is great), complex file operations (dired), and other things like repl/shell/complex rgreps/etc Same here. I feel like I get things done in git 3x faster than what I see people do in VS Code or IntelliJ based IDEs. I just know my keys and do it much faster, which leaves me more time for the actually important thing: The commit message. Also being able to copy commit ids and branch names out of the magit version of log (M-x magit-log RET -c b if my favorite) avoids typos and improves my speed. Add to that the fact, that of course Emacs stores last used commands of M-x. Or interactive command input history, which one can cycle through easily. On occasions, when a refactoring is needed, most of the times I can do it quickly via opening dired, moving the point to the directory I want to replace in and pressing Q. This basically always works, but does not have knowledge about the programming language. On even rarer occasions, I can feel a bit of regret of not configuring my Emacs even more, to support refactoring for Python. But I am sure, if I had to do it more often, I would put my mind to configuring Emacs and would configure it to have better Python support. Probably I can just find a tutorial in 1min of searching for it. So people can tell me stories about how their IDE is more efficient all day, until they can show me they are up to speed for all the other actions besides refactoring with language understanding, which only happens rarely, I will not be convinced, that it would make me faster.
- RcouF1uZ4gsC 4y agoAre you actually more productive in writing the code that you being paid for, or do you feel more productive, but are actually spending your mental energy and time writing custom Emacs scripts?
- thdespou 4y agoInteresting I have installed choco doom and I will try to experiment this myself. Talk to you in a couple of months.