8 ms·
Great job a very good example of programmable editor. Emacs had been my work horse since 2002 and never disappointed. In the meantime tried many ide only vim a
by dragonsh 7y ago
Great job a very good example of programmable editor.
Emacs had been my work horse since 2002 and never disappointed. In the meantime tried many ide only vim and emacs stayed with me. Sometimes do use nano and sublime text but then back to either emacs or vi.
All those shiny IDE based on electron, Java or C++ are just too slow to be productive be it VScode, atom or eclipse or visual studio or kdevelop. I am forced to use them due to tooling support for some framework. But I avoid them as much as possible once I have configured emacs to work with the language or sdk or framework or library in question.
- bregma 7y agoTestify, friend.
- rhabarba 7y agoThe most flexible programmable editor is probably Acme though.
- LukeShu 7y agoI've seen implementations of ACME's plumber as Emacs modes, I haven't seen implementations of Emacs in ACME. ACME's plumber is very cool, and allows very easy customization of how some things work. Much easier than these things typically are in Emacs. But this behavior is implementable in Emacs (I wish it were standard), and lots of things that are hard-coded in ACME are fully customizable in Emacs.
- rhabarba 7y agoSure, Acme lacks - well: intentionally does not have - theming, font changing etc., although some modifications (like Acme2k) exist which change that. Acme is probably more about "getting things done" than about "looking good" ... :-) (that sounds harsher than intended - I like Emacs for its flexibility and it was my Usenet reader until last month). Interestingly, the first Emacs "plumber" which I have found after you wrote it literally uses Acme's plumber: https://github.com/alcah/sink.el https://github.com/alcah/sink.el I wish Emacs had 9P support though.
- iterati 7y agoSo it's not the most flexible then.
- bauerd 7y agoI run emacs -nw --daemon, but on OS X it's noticeably slower (running in iTerm, tmux) than it is on Linux. It's not what I would call snappy at all tbh. I've checked it's not my config. I wonder how come?
- spudlyo 7y agoThat's the exact setup on macOS I run as well. I also run that way on my Linux development box (iTerm2 -> tmux -> ssh -> linux -> tmux (nested) -> emacs -nw --daemon) and it feels the same to me. I run emacs-plus macOS variant, which one are you running?
- bauerd 7y agoTried everything to no avail. `history | grep "brew install emacs"` gave me this: brew install emacs brew install emacs --HEAD brew install emacs --with-cocoa --with-imagemagick@6 --HEAD brew install emacs --with-librsvg --with-cocoa --with-imagemagick@6 --HEAD brew install emacs --with-gnutls --with-librsvg --with- cocoa --with-imagemagick@6 --HEAD brew install emacs --devel --with-cocoa --with-gnutls --with-librsvg --with-imagemagick brew install emacs --HEAD --use-git-head brew install emacs-plus --HEAD
- smitty1e 7y agohttp://spacemacs.org/ http://spacemacs.org/ with its org-mode and magit (https://magit.vc/ https://magit.vc/) integration, combined with the modal editing of vi, is truly superior. Don't care about your platform, desktop (I'm typically working over SSH in the cloud, so why bother?) or any of that hooplah. Just waiting for everybody else to catch up.
- dragonsh 7y agoPersonally for me spacemacs is bit slower in startup for my liking, so I use my own custom configuration. It's just lisp at the end of the day. Also for people who prefer emacs keys instead of vi, they can start with emacs-prelude package. But it will be hard to beat custom configuration in long run.
- Phenix88be 7y ago> Personally for me spacemacs is bit slower in startup for my liking I have see this many times and never understood how startup time could be an issue. I startup Spacemacs at the beginning of the day, and close it when I leave. 10 second of startup time is nothing.
- fookitty 7y ago10 seconds of startup time 10 years ago was nothing.
- guenthert 7y agoThe day had 86400s then as now.
- uncletaco 7y agoI wonder if part of it is some people hacking emacs and going through a update-save-restart cycle instead of just evaluating their change in place. Then again it may be the case that part of the cycle is seeing if the package management system of your custom distro (be it spacemacs, doom, or whatever) picks up and configures the new packages correctly.
- eloisant 7y agoThe thing is, I like to have things like auto-import, auto-complete, errors in the editors and other nice things (in Scala typically). With Emacs that means Ensime, and Emacs becomes just as slow as VSCode+Metals or IntelliJ.
- deleted 7y ago[deleted]
- non-entity 7y agoThe one thing that keeps me from moving lightweight editors like vim or emacs from the bloated IDE stuff if the ability to easily find definitions, etc. If I have hundreds or thousands of source files and I want to find the definition of say a struct or function, being able to right click->go to definition or similar is a godsend. Maybe emacs or vim have similar features via plugins though? I'm not sure.
- dmortin 7y agoIt's a pretty basic feature, so of course they can do that, and now with language servers they can do even more. What they usually can't do is the more involved stuff, like refactoring, because there is no company who pays people to implement these for emacs/vim.
- fulafel 7y agoYou can do refactoring in Emacs for many languages with packages like js2-refactor, clj-refactor, etc. It's language-specific. It's true that funding is important. CIDER has benefited from this system: https://www.clojuriststogether.org/projects/ https://www.clojuriststogether.org/projects/
- jacktasia 7y agoMy package dumb-jump might be what you want: https://github.com/jacktasia/dumb-jump https://github.com/jacktasia/dumb-jump
- dgtized 7y agoThis functionality is provided by `xref-find-definition`[1]. For many languages this defaults to using keywords from a generated tags index file, but many modes have a language server or some other more specific facility to provide this functionality at runtime. I'm not familiar with what provides that functionality for C/C++, but Ruby has `robe`, python has `jedi`, clojure has `cider`, rust has `racer`, etc. It generally requires a some setup for each language you use, but there is broad support for this functionality (and it often provides some form of symbol auto-completion as well). Some modes also support limited refactoring tools[2], but that's not quite as common. [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html https://www.gnu.org/software/emacs/manual/html_node/emacs/Xr... [2] https://github.com/clojure-emacs/clj-refactor.el https://github.com/clojure-emacs/clj-refactor.el, https://github.com/Wilfred/emacs-refactor https://github.com/Wilfred/emacs-refactor, https://www.emacswiki.org/emacs/SemanticRefactor https://www.emacswiki.org/emacs/SemanticRefactor
- jolmg 7y ago> Sometimes do use nano After learning vim, I couldn't stand using nano. It seemed like the worst of both worlds. No efficient keybindings like vim, and no mouse support like other conventional text-areas. Hearing/reading you say that you sometimes use nano made me curious of why and now I see that there seems to actually be quite a few features. I see it has macros, autocomplete, mouse support, autoindent, multiple buffers, editing keybindings to e.g. delete word-wise, linting support, etc. I never knew... and totally misjudged it as a very basic text editor. It's still basic when compared with vim or emacs, but now I hold it in far higher regard than Windows Notepad at least. I kind of feel like that time many years ago I found out that sed had more than just s///.
- ktm5j 7y agoI've found sublime text to be the one exception to the slow text editor trend. It's native ui instead of based on electron, wish it was open source but I'll happily pay for good software.