I've set `lexical-binding` to `nil` in all Emacs Lisp files to suppress
the warnings introduced in Emacs 31 requiring all elisp files to have a
`lexical-binding` comment.
This retains the default behavior of dynamic binding when no
`lexical-binding` comment is present. With it set to `t` across the
board, various things break, and fixing those is a task for another day.
Makes cmd+shift+p open the command palette and cmd+/ toggle comments, as
they do in VSCode.
This should ease my recent usage of Cursor/VSCode alongside Emacs, as
certain keybindings I have in Emacs cannot be setup in VSCode to work in
all contexts. Hence I've had to get used to cmd+shift+p instead of C-x
C-m, as the later does not want to play ball when a terminal is active
in VSCode.
Smex has not been updated since late 2015. Amx was originally a fork of
smex, but as since evolved much further into it's own thing.
Among other things is supports other completing backends, and ivy with
it's fuzzy matching feels rather nice. I'm keeping ido-mode for
everything else, but specifically for M-x I'll give ivy a try.
I mostly use C-x C-m instead of M-x as I for some reason find it less
annoying to type. I really like helm-command's helm-M-x function, but I
find slightly too slow and slightly too intrusive than smex.
Hence I'm switching back my main keybinding to smex, but still leaving
helm-M-x bound to the M-x keybinding I use very rarely, just so I can
still access it when I need to.