Never too late though, and on the plus side I've now got decades of hidden Emacs goodies still to discover!
Never too late though, and on the plus side I've now got decades of hidden Emacs goodies still to discover!
To each thier own, of course!
I still use Emacs when I ssh into my vps and, if I want primarily on Windows doing dev if Visual Studio, would likely use it for everything (as I did back when I was primarily on UNIX systems). Just writing this makes me think "maybe I'll install it on Windows on more time".
The core issue for me is context switching between Emacs and VS. Even with various keybinding tricks it is always awkward.
Best of luck on your journey with Emacs. Do it for me! :)
I'm glad I took the time to investigate this discoverable interactive programmatic keyboard-oriented UI platform, that also happens to have a great editor (evil).
A uniquely empowering tool for programmers.
...so when does someone teach me the secret handshake?
Some people even replace their window manager with Emacs (see: EXWM), but I'm not ready for this just yet (I run stumpwm now, which is a tiling WM written in Common Lisp, so it's just another lispy environment with similar levels of live interop).
That seems pretty far-fetched. Very few of the things I use Jupyter notebooks for seem possible in org mode.
Org Mode can execute blocks of code in any language you can hook up to Emacs, correctly handling sessions if language supports them. Org Mode document itself can serve as a glue for exchanging data between different runtimes if you're using multiple different languages in a single document. Literate programming capabilities let you include other source blocks or even their results as code. Emacs can display images inline, and has some capability for UI widgets (though I haven't use it in org-mode context). The kind of Jupyter notebooks I've seen in the wild, I can reproduce in Org Mode with ease.
Simply not being browser-based means org mode has an incredibly steep uphill battle to even get close - the ecosystems Jupyter can tap into are vast (browser and native, language agnostic), and anything interactive is almost certain to trail behind.
I'm happy to be corrected, but I spent a while researching org mode's capabilities in this area earlier, and everything I found looked more primitive and clunky than what Python and Sage could do as long as 10 years ago.
My experience with Jupyter was limited to static plots so far (I did plenty of interactive work in ObservableHQ though), and Emacs can handle those well.
Thanks for clearing that up for me!
M-x secret-handshakeBest resources you’ve used to discover things?
`org-mode` and `org-agenda` is pretty cool and I wish I could use it, but I just gave up trying to configure and integrate it with my calendar, multiple devices and what not.
`shell-pop` is incredibly basic and useful to pop up terminal at bottom. Trying to get my popup windows to show up where I want them using `popwin` and `shackle` (still WIP, as it's far from perfect).
There is `lsp-mode` for Language Server, which makes the auto-completion and code-browsing far better. I was super surprised by how well `dumb-jump` worked in most cases (I mainly used that for C++).
I usually discover things by looking at random Emacs configuration. IIRC there is a repo on Github which keeps track of popular configuration out there.
When I 'retired' a few weeks ago I tried org-mode in a dropbox folder. Works great from my Linux and macOS laptops but iOS is a nuisance: I can read notes from the dropbox app and edit them with Textastic, but this is not 'ready at hand' tooling.
Since I 'retired' I am doing much more of my personal coding in Common Lisp and Haskell which means more Emacs use (although I also have VSCode set up for fantastic Haskell and Python dev experiences).
I need to take another look at Magit. I replaced org-mode with all-in use of G Suite (really enjoying functionality, high productivity, and security, cringing a little on privacy issues).
(use-package flyspell
:config
(setq ispell-program-name "/usr/sbin/aspell")
(setq flyspell-consider-dash-as-word-delimiter-flag t)
(define-key flyspell-mode-map (kbd "C-:") 'flyspell-correct-wrapper)
)
(use-package flyspell-correct)
(use-package flyspell-correct-ivy)
you may want a binding to add the word at point to your dictionary I swiped this function for somewhere (defun my-save-word ()
(interactive)
(let ((current-location (point))
(word (flyspell-get-word)))
(when (consp word)
(flyspell-do-correct 'save nil (car word) current-location (cadr word) (caddr word) current-location))))A nice happy medium is Prelude -- https://github.com/bbatsov/prelude
It's big, but probably not too big to understand and jump in and tweak.
I still prefer my own hand-rolled config though.
After a few months, I started to build up my configuration bit by bit with use-package, evil, and general.el. I largely use the same keybindings as Spacemacs, but it's much leaner and faster.
Changed to a clean configuration and built it slowly, everytime I hit an annoyance I fixed and learned something new, now it works better than spacemacs for my workflow and still is way snappier.
It's also a good idea to use opposing hands when using modifier keys. To press control-H, you would use the left control with your left hand, and the H with your right hand. Again, this is true regardless of using Emacs (it applies just the same to typing capital letters with the shift keys).
2. Load Emacs.
3. Press Control-H, then press T. This loads the Emacs tutorial. It should take about 10-15 minutes to run though.
If you use Bash/Zsh or Mac OS, the basic cursor movement in the very first section of the tutorial can also be used in the Bash/Zsh shell, and in many Mac OS textboxes as alternatives to the Home/End/PgUp keys etc.
4. Read the manual section on macros [1]. I don't know so many emacs-level-10-wizard level commands, but making a macro saves me a lot of time and thought at least once a week.
[1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Ke...
Emacs is often confused as being an editor, but it's not.
It certainly houses a few different editors, including Vim (as people will often point out eVil is Vim inside Emacs)
Emacs is basically a text centric computing platform, built with a flavor of Lisp.
At this point there's several thousand apps / packages.
It used to be a joke that Emacs is an Operating System that lacks a decent text editor. These days it has several.
The joke now should be that it lacks a decent logo and marketing department.
Or perhaps the joke should be that Vim users are terrified they're missing out on something they don't get so they use snark as a defense mechanism.
That’s actually the best explanation of Emacs I’ve heard. Thank you.
Every visible and invisible think is inspectable and changable at runtime, yup - pretty cool and I loved it for programming! Not sure whether I want to get on the emacs train tho. I have problems mantaining efficiency either way already... And I favor tools that work without set-up. Then again I am still young enough that learning investments pay off by a huge margin... tough.