4 ms·
I tried vscode the other day to see what it's about and it's nice, but I found plugin development convoluted and very limiting compared to emacs. No chance of
by dmortin 7y ago
I tried vscode the other day to see what it's about and it's nice, but I found plugin development convoluted and very limiting compared to emacs.
No chance of quickly writing a script to automate something in the editor, because it takes so much time that it's not worth it for quick editor code snippets.
Other editor users simply have no concept of how easy it is to whip up some quick script to perform some task in emacs.
- pcr910303 7y ago> No chance of quickly writing a script to automate something in the editor, because it takes so much time that it's not worth it for quick editor code snippets. Take a look at Atom[0]: you can almost think it's a bit underpowered Emacs that uses CoffeeScript(JS) instead of Elisp. It uses the same mental model as Emacs; the init file is a CoffeeScript file, not a JSON file with packages (like VSCode). [0] atom.io
- dmortin 7y agoDoes it also offer an api for plugins, instead giving access to all of the editor like emacs? Because that is one thing I found limiting in vscode that I can do only what the api devs thought of.
- pcr910303 7y ago> Does it also offer an api for plugins, instead giving access to all of the editor like emacs? I'm not sure what you're asking; Emacs also exposes a set of APIs. If you're asking if Atom's init file is written as a generic programming language (unlike VSCode which uses JSON), yes it is. If you're asking if Atom's API is sufficient enough to implement radical modes (like js2-mode in Emacs), AFAIK yes. Atom by default doesn't have a terminal or a browser; but there are several packages to do them. However I'm not too familiar with the Atom's API surface; I've never used Atom as a primary editor, but more of a backup editor for when I'm recompiling Emacs/reinstalling Emacs packages, ... so I'm not sure about the last sentence.
- bachmeier 7y ago> Other editor users simply have no concept of how easy it is to whip up some quick script to perform some task in emacs. I don't want to start a flamewar, but I moved most things I was doing in Emacs to Textadept a while back because I found Textadept more convenient. That's not to say TA does everything you can do in Emacs, but it replaced all of the scripting I was doing with Emacs. You have the full power of Lua inside TA. Emacs always has a lag when I start it up, whereas TA is instant. I slowly built up functionality inside TA to the point that I realized I could replace everything I was doing in Emacs. It's so small and lightweight that, just for fun, I wrote a "web browser" inside TA. It calls out to lynx and loads a readable text version of the page. I use a keyboard shortcut to open links. I have functions for searching the web, I can search YouTube and open the videos in VLC, and so on. This was a practical thing to do: I can use TA as a browser on really old laptops. It maybe isn't for everyone, but in Emacs when I was doing this[1] to duplicate a line: C-a C-SPACE C-n M-w C-y I asked why I wasn't using a better text editor. In TA, it's C-d. Just as Emacs is an interface for Emacs Lisp, TA is an interface for Lua, and with a lot less overhead. [1] https://stackoverflow.com/questions/88399/how-do-i-duplicate-a-whole-line-in-emacs https://stackoverflow.com/questions/88399/how-do-i-duplicate...
- dmortin 7y agoOf course I meant editors which I know and tried like vscode. I don't know Textadept, so it may be easy to write quick scripts in it. As for your C-d example, it's a trivial function in emacs which I too wrote many years ago and bound to C-d, so it's not a compelling example, because it can be added trivially in emacs too.
- bachmeier 7y ago> it can be added trivially in emacs too Agree with everything except "trivially". Emacs is a house of cards. Pretty much every shortcut is already taken, so then you have to figure out what's already bound to C-d, and how your change is going to interact with everything else you do. For one binding it doesn't matter, but doing that kind of customization over and over gets annoying, causes the init file to balloon, and slows the startup time.
- 7y ago
- grogenaut 7y agoCould you do the work in a plug-in to allow easy creation of scripts as a solution? Or is there an execution sandbox preventing that? Also I never really thought of writing scripts for editing in emacs thanks for the brain shift that clicked for me.
- dmortin 7y agoIf you want to write a new command for vscode then you have to register it in contribution points in the editor which is done in a json file. I don't know if you can do that dynamically and if you can't then you can't create a quick throwaway editing command either. I very often write few lines of temporary commands if I have to do some mass editing which can be automated. With vscode I'd have to do it in python or something outside of the editor which is much less convenient than an emacs script which can work on a file as a buffer.