This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-10-15
Channels
- # beginners (26)
- # biff (28)
- # calva (13)
- # clj-commons (4)
- # clj-kondo (3)
- # clojure (45)
- # clojure-austin (17)
- # clojure-europe (8)
- # clojure-finland (1)
- # clojurescript (14)
- # code-reviews (3)
- # emacs (33)
- # helix (4)
- # holy-lambda (7)
- # joyride (5)
- # keechma (1)
- # meander (4)
- # membrane (3)
- # missionary (22)
- # nbb (1)
- # off-topic (1)
- # pathom (4)
- # rdf (24)
- # releases (2)
- # sci (3)
- # shadow-cljs (12)
- # tools-deps (14)
https://github.com/syl20bnr/evil-lisp-state It seems like it's available as a standalone library
the setup wasn't straightforward. looks like others are confused how to configure it https://github.com/syl20bnr/evil-lisp-state/issues/48
@U4YGF4NGM scroll through #doom-emacs there was a discussion not long ago
I'm trying to figure out how to use the "lispy" doom module but, the documentation is lacking
David Wilson recently made a stream about paredit https://www.youtube.com/watch?v=FiFMZwQbgOM
here is also a list https://systemcrafters.net/live-streams/september-30-2022/ I didn't check out Puni myself yet
I personally use symex and found it more intuitive than evil-lisp-state (but each to their own)
Blog post about how I ditched the scratch buffer: https://benjamin-asdf.github.io/faster-than-light-memes/scratching-in-space.html

I agree on the problem being solved. last Spring I came up with a different approach: https://clojurians.slack.com/archives/C099W16KZ/p1649608080276719 no need to compare of course, but I'm happy with mine because otherwise I'd end up with many useless files (at least for my usage patterns)
yes, it's really good!! much more lightweight than evil. Used it for a while while i was getting used to vanilla keybindings
I'm trying to get it to work using straight.el. for some reason, the setup code isn't working for me
(use-package meow
:config
(require 'meow)
(meow-setup)
(meow-global-mode 1))
Error (use-package): meow/:config: Symbol's function definition is void: meow-setup
@U5J5ME2NQ what do you use for window management?
yeah.. you define your own meow-setup but it's kind of nice because all the config is right there explicitly defined in that one fn in your config. ... no magic no WM at the moment b/c I'm on Mac. i3 in the past on linux
I'm dissatisfied with the whole keypad thing. specifically, I can't figure out how to get it to show the name of the variable that a prefix is bound to
I wish I could replace the keypad with something like general.el, but there doesn't seem to be any way to turn it off
> sorry I meant managing windows in emacs
Ah, yes, of course 😊
as for keypad
I also didn't use it much, but did you see there is a discussions
on the repo? They're really responsive and the lead dev, DogLooksGood
is/was a clj dev so is really helpful with any cider issues as well
IIRC, keypad
is just the thing that lets you replace C-x
or C-c
prefixes, right? And by default you get the spacebar as a replacement?
I used that but just stuck a few common functions in that mapping, with the space leader.
For everything else I was trying to use the vanilla keybindings.
Here's the meow-setup
I used back then
(defun meow-setup ()
(setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
(meow-motion-overwrite-define-key
'("j" . meow-next)
'("k" . meow-prev))
(meow-leader-define-key
;; SPC j/k will run the original command in MOTION state.
'("j" . "H-j")
'("k" . "H-k")
;; Use SPC (0-9) for digit arguments.
'("1" . meow-digit-argument)
'("2" . meow-digit-argument)
'("3" . meow-digit-argument)
'("4" . meow-digit-argument)
'("5" . meow-digit-argument)
'("6" . meow-digit-argument)
'("7" . meow-digit-argument)
'("8" . meow-digit-argument)
'("9" . meow-digit-argument)
'("0" . meow-digit-argument)
'("/" . meow-keypad-describe-key)
'("b" . ido-switch-buffer)
'("f" . ag-project)
'("g" . magit-status)
'("G" . magit-blame-echo)
'("l" . switch-to-previous-buffer)
'("o" . other-window)
'("z" . fzf-find-file)
'(";" . comment-line)
'(">" . sp-forward-slurp-sexp)
'("<" . sp-forward-barf-sexp)
'("?" . meow-cheatsheet))
(meow-normal-define-key
'("0" . meow-expand-0)
'("9" . meow-expand-9)
'("8" . meow-expand-8)
'("7" . meow-expand-7)
'("6" . meow-expand-6)
'("5" . meow-expand-5)
'("4" . meow-expand-4)
'("3" . meow-expand-3)
'("2" . meow-expand-2)
'("1" . meow-expand-1)
'("," . meow-inner-of-thing)
'("." . meow-bounds-of-thing)
'("[" . meow-beginning-of-thing)
'("]" . meow-end-of-thing)
'("/" . isearch-forward)
'(";" . meow-reverse)
'("'" . repeat)
'("a" . meow-append)
'("A" . meow-open-below)
'("b" . meow-back-word)
'("B" . meow-back-symbol)
'("c" . meow-kill)
'("e" . meow-find)
'("f" . meow-next-word)
'("g" . meow-cancel-selection)
'("G" . meow-grab)
'("h" . meow-left)
'("H" . meow-left-expand)
'("i" . meow-insert)
'("I" . meow-open-above)
'("j" . meow-next)
'("J" . meow-next-expand)
'("k" . meow-prev)
'("K" . meow-prev-expand)
'("l" . meow-right)
'("L" . meow-right-expand)
'("n" . meow-search)
'("o" . meow-block)
'("O" . meow-to-block)
'("p" . meow-yank)
'("q" . meow-quit)
'("Q" . meow-goto-line)
'("r" . meow-replace)
'("t" . meow-till)
'("u" . meow-undo)
'("U" . meow-undo-in-selection)
'("v" . meow-visit)
'("w" . meow-mark-word)
'("W" . meow-mark-symbol)
'("x" . meow-delete)
'("V" . meow-line)
'("<escape>" . mode-line-other-buffer)))
(now I use God mode
instead)I thought there was some advanced usage of keypad but I never dabbled in it. Didn't have a use for it, I guess
I've started my journey building my own emacs config, based around meow and straight.el
I also started with spacemacs about 5 years ago (coming from Vim) but pretty quickly made my own config with heavy use of evil, general, etc...
This worked great for a while but eventually I got sick of all the places where evil wasn't supported (even with evil-collection...) or where I needed to debug something.. and so wanted to get more familiar with native Emacs bindings..
It was too hard to go full on vanilla emacs after so long with vim bindings so tried Meow for a while (having also played with kakoune
for a bit...) which I really enjoyed but it was always just going to be a stepping stone on the path to vanilla bindings.
God-mode is a tiny package (maybe 600 loc..) that just makes it so you don't have to hold down modifier keys...
So instead of doing C-f, C-b
to move, i just do f
or b
etc..
And it's somewhat modal in that you go in and out of it to insert text but light enough that you always learn the underlying native keybindings.
Keeps my config pretty small and makes it easier to pair with non-evil teammates