29
submitted 4 months ago* (last edited 4 months ago) by gramgan@lemmy.ml to c/linux@lemmy.ml

cross-posted from: https://lemmy.ml/post/15059157

cross-posted from: https://lemmy.ml/post/15059150

Hey friends,

I tried Kakoune for the first time recently—I definitely feel like it gets keybindings right. So I just wrapped up configuring Helix to (as far as I can tell) use those bindings (basically, it totally cuts out select mode and makes things much faster). Thought I'd share for anyone else interested.

[keys.normal]
H = "extend_char_left"
J = "extend_line_down"
K = "extend_line_up"
L = "extend_char_right"

W = "extend_next_word_start"
E = "extend_next_word_end"
B = "extend_prev_word_start"

A-j = "join_selections"

A-n = "search_prev"
N = "extend_search_next"
A-N = "extend_search_prev"

[keys.normal.g]
e = ["goto_last_line", "goto_line_end"]
G = ["select_mode", "goto_file_start", "normal_mode"]
[keys.normal.G]
H = "extend_to_line_start"
L = "extend_to_line_end"
E = ["select_mode", "goto_last_line", "goto_line_end", "normal_mode"]
[keys.normal.v]
t = "align_view_top"
b = "align_view_bottom"
v = "align_view_center"

Happy editing!

you are viewing a single comment's thread
view the rest of the comments
[-] Ramin_HAL9001@lemmy.ml 2 points 4 months ago

Steps are being made toward Guile Emacs integration. The work is mostly being done by Robin Templeton, who (last I heard) works at the Spritely Institute. And as I understand, there are other people pushing on the Guile in Emacs front as well, so you may not have to wait long.

Have you considered trying to setup Kakoune bindings in Emacs? For example like this: https://github.com/jmorag/kakoune.el

[-] velox_vulnus@lemmy.ml 2 points 4 months ago* (last edited 4 months ago)

Thank you for sharing this. I've never tried using Emacs before - since I'm on a very low-end laptop, I am curious if it would hurt the performance on my device? It's a i3-6006U with just 4.0GiB of RAM. Also, Guile Emacs and Guilemacs are two different projects, right? Because I also happen to come across this, and I've been interested in this project as well.

[-] Ramin_HAL9001@lemmy.ml 2 points 4 months ago* (last edited 4 months ago)

It’s a i3-6006U with just 4.0GiB of RAM.

Emacs is considerably more lightweight than a modern Web browser, or any app based on Electron.js (e.g. VSCode) so a computer with those specs is more than powerful enough to run Emacs. If you use version 29.1 or later, Emacs comes with "libgccgit" which will spend a little time pre-compiling Emacs code to very fast native code.

Emacs used to have a reputation for being slow back in the early 1990s when 32 bit personal computers were just beginning to gain popularity. But nowadays when everyone downloads FlatPak and AppImage and Snap apps which install many hundreds of megabytes of code, Emacs is relatively small and light.

Also, Guile Emacs and Guilemacs are two different projects, right? Because I also happen to come across this, and I’ve been interested in this project as well.

The whole history of Guile and Emacs is here on the Emacs Wiki.

So there are a few projects related to Guile and Emacs. The link you provided me by Ken Raeburn is a fork of older versions of both Guile and Emacs, it seems it has not been worked on in about 20 years, unfortunately.

The project by Robin Templeton is also a little bit out of date, but still somewhat actively developed. You must build it from source from a patched version of (I think?) Emacs 26 or 27, I am not sure which it was. It works by loading libguile (the Guile interpreter/compiler) into Emacs so you can run Scheme code, and it also provides Scheme "foreign function" wrappers to the Emacs C APIs so you can do everything Emacs Lisp does in Scheme by importing the elisp-functions Scheme module. (There is an example of how to use it on the Emacs Wiki.)

I did hear Robin say in a recent Spritely chat that it could be made to work on Emacs 29 with not too much effort, they just haven't had time to do it.

If you are interested in Scheme, you might also want to check out the Edwin text editor which is built-in to the MIT/GNU Scheme compiler, you launch it from the Scheme REPL with the (edit) function. It is a clone of Emacs 19 (a very old Emacs) written entirely in Scheme, but unfortunately it is a little too old to be useful nowadays, in my opinion. Still, you could learn something by reading the Edwin source code.

Finally there is TeXmacs, which is a full WYSIWYG application with a built-in LaTeX rendering engine designed for writing scientific papers, and it includes the Guile Scheme compiler for writing extensions, although I would not call TeXmacs a general purpose programming text editor the way Emacs is.

this post was submitted on 30 Apr 2024
29 points (93.9% liked)

Linux

47347 readers
1855 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS