programming musings

Posts tagged "emacs":

13 May 2020

unlearn

For years, i've been using C-x p, C-x o and C-c <n> to move to other windows, but with ace window i am substituting all of them with M-o. Problem is, muscle memory interferes and i find myself clumsily moving around (and often lost) with the former ones. Or i did, before i followed an advice from Stefan Monnier in emacs-devel: unbind those keys you want to forget, and you'll get an error when you relapse.

more ...
Tags: emacs programming
12 May 2020

ace window

As i've mentioned in a previous post, i organise my emacs sessions in workspaces, a.k.a. frames, a.k.a. a thematic tiling of windows. It is therefore important to have quick ways of jumping from a window to another. Until very recently, i used a home-cooked collection of shortcuts (C-c 1, C-c 2C-c n) that would move my point to the nth window in the workspace (i trained myself to count them quick enough, i suppose), and used that together with the stock C-x o and with C-x p bound to (other-window -1), for something similar to "previous window", to move around. But i've discovered a better way.

more ...
Tags: emacs
08 May 2020

a gnus enters a side-bar

gnus-side-bar.png

i typically organize my computing sessions around workspaces, which in emacs are simply glorified default window configurations, sometimes in a one-to-one relationship with emacs frames1. That's specially natural if you use exwm, where there's a concept of workspace essentially equivalent to emacs frame. So here too i'll have a "coding" workspace with programming buffers, a "browsing" one inhabited by emacs-w3m buffers in a two-pane layout, an "X" for the few non-emacs applications i use, and one devoted to "email/calendar/agenda", where Gnus plays a central role.

more ...
Tags: emacs
02 May 2020

transient

Emacs being, essentially, my operating system and window manager, i've had since i remember a set of keybinding maps grouped by functionality (sleep and related operations, media player control, network access, and so on), whereby every group of commands starts with the same prefix. E.g., all my commands controlling media have a keybinding starting with `C-c m`. Nothing earthshaking, and pretty common. Recently, the transient library has made my life easier in this department.

more ...
Tags: emacs
26 Feb 2020

literate programming

I got started with literate programming many years ago, out of admiration for almost everything else i knew done by Donal Knuth, and tried my hand at it in some toyish projects in OCaml and Scheme. So it wasn't without lack of enthusiasm that i plunged into the literate world.

more ...
Tags: programming emacs
23 Feb 2020

signel, a barebones signal chat on top of signal-cli

Unlike most chat systems in common use, Signal lacks a decent emacs client. All i could find was signal-msg, which is able only to send messages and has a readme that explicitly warns that its is not a chat application. Skimming over signal-msg's code i learnt about signal-cli, a java-based daemon that knows how to send and receive signal messages, and how to link to a nearby phone, or register new users. And playing with it i saw that it can output its activities formatted as JSON, and that offers (when run in daemon mode) a DBUS service that can be used to send messages.

more ...
Tags: emacs
11 Feb 2020

simplicity

I like simple things. As simple as possible, but not simpler: they should live well in my little emacs universe. Bastian Bechtold's org-static-blog, a static site generator using org-mode, is the latest star in that virtual world.

more ...
Tags: emacs
29 Nov 2014

emacs tip: tweeting from emacs-w3m

To follow twitter, i connect to a local Bitlbee server via emacs, using the Circe IRC client, and i browse the web using emacs-w3m.

more ...
Tags: emacs
20 Jan 2007

record, play, re-play in emacs

Gentle reader Marc Donner has sent me an email sharing one of his favorite emacs hacks:

more ...
Tags: emacs
17 Jan 2007

eval and replace anywhere

Being a living Elisp virtual machine, Emacs naturally provides the ability to evaluate any Elisp expression anywhere. Just put the cursor right after the expression to be evaluated and press C-xC-e: the result appears in the mini-buffer. I use this continuously, for instance while reading about a variable to know its value. For instance, imagine i see this line in one of my files:

more ...
Tags: emacs
14 Jan 2007

editing your file names

In my experience, dired is one of the most underused modes of Emacs. Just C-xC-f to any directory in your hard disk and you'll be presented with a list of its files and directories. One can browse this list, and execute all kinds of commands and transformations on them. If you've never done that before, just give it a try, and look at the menubar for a list of nifty things you can do inside dired. There're several ways to mark files and operate on them afterwards: for instance, just type A to find inside the selected files any regexp, or Q to search and substitute.

more ...
Tags: emacs
14 Jan 2007

the ghost in the lisp machine

A friend of mine uses to say that Emacs fills our yearning for a Lisp Machine. I tend to agree with him: Emacs is not just an editor, but a full integrated environment where you can perform virtually any imaginable task; and, most importantly, the inner workings of the system are open to you to explore and extend. Using, for extra fun, Lisp. No, i don't think that Elisp is the nicest Lisp incarnation around, but is far better than, say, C, and i still prefer it to other scripting languages. Moreover, the awesome range of libraries at your disposal makes up for many of the deficiencies in the language.

more ...
Tags: emacs auld
Other posts
Creative Commons License
jao.io by jao is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.