| 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). |