Show me your #emacs keybindings that you put into existing global submaps that you feel are intuitive.
Here are some of mine:
Under C-x v (for VC stuff):
("C-x v t" . git-gutter-mode)
("C-x v s" . git-gutter:stage-hunk)
("C-x v n" . git-gutter:next-hunk)
("C-x v p" . git-gutter:previous-hunk)
("C-x v T" . git-timemachine)
("C-x v R" . browse-at-remote)
Under M-g for error navigation:
("M-g M-l" . flymake-show-buffer-diagnostics)
In the C-x map to complement C-x u:
("C-x C-u" . vundo)
And a better use for C-x C-o (overriding delete-blank-lines):
("C-x C-o" . browse-url-at-point)
Technically these are reserved or taken spots but I like these bindings enough to make an exception for them.
In a previous toot thread we've been talking about ways to launch processes from Emacs in a way that lets them survive Emacs exiting, crashing or restarting via M-x restart-emacs.
The best way I've found so far:
;;; with separate cmd and args:
(call-process command nil 0 args)
;;; or let the shell parse the command:
(call-process-shell-command command nil 0)
The key is the 0 as the third argument, this causes Emacs to discard the output and not wait for the process.
I use it like this for my EXWM command launcher function:
(defun my-exwm-run (command)
(interactive (list (read-shell-command "$ ")))
(call-process-shell-command command nil 0))
Previously I used start-process-shell-command and nohup but that accumulated defunct processes when using M-x restart-emacs. The call-process-shell-command with the 0 arg doesn't seem to have that problem and it doesn't need nohup. This is a bit counter intuitive because call-process is supposed to be for synchronous processes. Not sure if make-process (the async primitive) can do this the same way.
If somebody is familiar with how/why exactly this works I'd love to hear your thoughts.
I switched from a font with serifs to a sans serif font for variable-pitch in #Emacs. It kind of feels like I downloaded a whole new editor.
Ahem. By which I mean to say I usually do some #python #programming #streaming on that channel, using #emacs . One of these days I will remember how actually doing self-promotion works
@gme Perhaps because there is already a package named `woman' to read man pages on emacs.
Thus, in a sense, they are already completed. `woman' means "without man" if I am not mistaken.
I broke my Vim usage by learning Colemak and decided to fix it by learning Emacs. A surprise side-effect, manipulating terminal and many programs became easier due to the same keybinds – which I never knew before – working in many other places!
Irreal: The Emacs Cat’s Org Configuration https://irreal.org/blog/?p=13155 #emacs
Charles Choi: Announcing Casual Compile, Elisp, and Eshell http://yummymelon.com/devnull/announcing-casual-compile-elisp-and-eshell.html #emacs
What I want is a consistent interface like lispyville/paredit/combobulate that I can navigate in something like evil, while having good multiple cursors that understand the bit of syntax that I'm highlighting and finding the matches. #emacs
We're looking to optimize #Emacs Reader's performance for High-Resolution monitors with fractional scaling.
Since I don't have such a setup, I'd be glad if people who do would be interested in contributing as testers.
Announcing more Casual interfaces, this time for Compile (and Grep), Elisp, and Eshell in the v2.8 update. Learn more about it at the link below.
http://yummymelon.com/devnull/announcing-casual-compile-elisp-and-eshell.html
Free software nerdery asking for Emacs advice
Turns out: I tried to be smarter than the authors of gcmh (https://gitlab.com/koral/gcmh) and of course I was wrong.
I can use #Emacs + lsp-mode w/o regular input lag currently for the first time since ages.
@chesheer IMO people have lost the ability to discuss topics in a non-personal fashion. Factual level vs. personal level.
Nowadays, the tendency that any discussion results in personal insults is very high.
Besides: since #Emacs is able to do everything(!) that #vim does (except vimscript) but vim can only do vim-stuff but only a tiny fraction of the stuff that's built-in or optional within Emacs, this is actually settled once and for all.
I'm coding a little project in #elisp before I get back to bigger #Emacs things. This project has, what we could call a record, 7-8 fields. I thought, maybe I should try records or cl-defstruct. I coded them up, started to use them, and found it more painful than I hoped.
The keywords of defstruct seem like a good idea, but they percolate upwards and things get complicated.
I found myself thinking in clojurey ways which don't work so well in Elisp.
I went back to lists. A list of lists.. It feels right to me and it all just works. I can find them with some flavor of assoc, then find the attributes the same way.
What do you think? What would you do?