Title: Trying to move away from emacs | |
Author: Solène | |
Date: 03 July 2018 | |
Tags: unix emacs | |
Description: | |
Hello | |
Today I will write about my current process of trying to get rid of | |
emacs. I use it extensively with org-mode for taking notes and making | |
them into a agenda/todo-list, this helped me a lot to remember tasks | |
to do and what people told to me. I also use it for editing of | |
course, any kind of text or source code. This is usually the editor I | |
use for writing the blog articles that you can read here. This one is | |
written using **ed**. I also read my emails in emacs with mu4e (which | |
last version doesn't work anymore on powerpc due to a c++14 feature | |
used and no compiler available on powerpc to compile it...). | |
While I like Emacs, I never liked to use one big tool for everything. | |
My current quest is to look for a portable and efficient way to | |
replace differents emacs parts. I will not stop using Emacs if the | |
replacements are not good enough to do the job. | |
So, I identified my Emacs uses: | |
+ todo-list / agenda / taking notes | |
+ writing code (perl, C, php, Common LISP) | |
+ IRC | |
+ mails | |
+ writing texts | |
+ playing chess by mail | |
+ jabber client | |
I will try for each topic to identify alternatives and challenge them | |
to Emacs. | |
## Todo-list / Agenda / Notes taking | |
This is the most important part of my emacs use and it is the one I | |
would really like to get out of Emacs. What I need is: writing | |
quickly a task, add a deadline to it, add explanations or a | |
description to it, be able to add sub-tasks for a task and be able to | |
display it correctly (like in order of deadline with days / hours | |
before deadline). | |
I am trying to convert my current todo-list to **taskwarrior**, the | |
learning curve is not easy but after spending one hour playing with it | |
while reading the man page, I have understood enough to replace | |
org-mode with it. I do not know if it will be as good as org-mode but | |
only time will let us know. | |
By the way, I found **vit**, a ncurses front-end for taskwarrior. | |
## Writing code | |
Actually Emacs is a good editor. It supports syntax coloring, can | |
evaluates regions of code (depend of the language), the editor is | |
nice etc... I discovered **jed** which is a emacs-like editor written | |
in C+libslang, it's stable and light while providing more features | |
than mg editor (available in OpenBSD base installation). | |
While I am currently playing with **ed** for some reasons (I will | |
certainly write about it), I am not sure I could use it for | |
writing a software from scratch. | |
## IRC | |
There are lots of differents IRC clients around, I just need to pick | |
up one. | |
## Mails | |
I really enjoy using mu4e, I can find my mails easily with it, the | |
query system is very powerful and interesting. I don't know what I | |
could use to replace it. I have been using alpine some times ago, and | |
I tried mutt before mu4e and I did not like it. I have heard about | |
some tools to manage a maildir folder using unix commands, maybe I | |
should try this one. I did not any searches on this topic at the | |
moment. | |
## Writing text | |
For writing plain text like my articles or for using $EDITOR for | |
differents tasks, I think that ed will do the job perfectly :-) There | |
is ONE feature I really like in Emacs but I think it's really easy to | |
recreate with a script, the function bind on M-q to wrap a text to | |
the correct column numbers! | |
Update: meanwhile I wrote a little perl script using Text::Wrap | |
module available in base Perl. It wraps to 70 columns. It could be | |
extended to fill blanks or add a character for the first line of a | |
paragraph. | |
#!/usr/bin/env perl | |
use strict;use warnings; | |
use Text::Wrap qw(wrap $columns); | |
open IN, '<'.$ARGV[0]; | |
$columns = 70; | |
my @file = <IN>; | |
print wrap("","",@file); | |
This script does not modify the file itself though. | |
Some people pointed me that Perl was too much for this task. I have | |
been told about Groff or Par to format my files. | |
Finally, I found a very **BARE** way to handle this. As I write my | |
text with ed, I added an new alias named "ruled" with spawn ed with a | |
prompt of 70 characters #, so I have a rule each time ed displays its | |
prompt!!! :D | |
It looks like this for the last paragraph: | |
###################################################################### | |
c | |
been told about Groff or Par to format my files. | |
text with ed, I added an new alias named "ruled" with spawn ed with | |
a | |
prompt of 70 characters #, so I have a rule each time ed displays | |
its | |
prompt!!! :D | |
. | |
###################################################################### | |
w | |
Obviously, this way to proceed only works when writing the content at | |
first. If I need to edit a paragraph, I will need a tool to format | |
correctly my document again. | |
## Jabber client | |
Using jabber inside Emacs is not a very good experience. I switched | |
to profanity (featured some times ago on this blog). | |
## Playing Chess | |
Well, I stopped playing chess by mails, I am still waiting for my | |
recipient to play his turn since two years now. We were exchanging | |
the notation of the whole play in each mail, by adding our turn each | |
time, I was doing the rendering in Emacs, but I do not remember | |
exactly why but I had problems with this (replaying the string). |