It has been a long time since I’ve published anything, as I’ve had a frantically busy month or so at work. I’ve had barely any time for anything else. I haven’t sewn any garments for a while, and the only creative thing I’ve done with my hands is to start knitting a pair of socks, which I then had to unravel back to the start half-way down the foot when I made a catastrophic mistake. Things are getting a little quieter now and I hope to get back to my sewing projects, but the only productive, non-work thing I have done lately is to tinker a bit with my Spacemacs configuration. The first thing I did was to switch from the stable release of Spacemacs to the
develop branch. This is slightly risky, because of course things tend to be in flux in development. However, the general consensus in the Spacemacs chat room is that
develop is pretty stable and fine for everyday use with a bit of care. You do get the latest and greatest improvements, including a choice between using
ivy for completion. After trying
ivy for a bit, I ended up sticking with
helm, as I prefer the way it presents the completions and allows you to work flexibly with them.
It has been about 18 months since I started using Spacemacs, and I am still constantly learning wondrous new things about it, and about Emacs more generally. I go through waves of tinkering and learning, but I find myself using Spacemacs for more and more things. I’ve had a recent tinkering bout — partly inspired by some helpful resources — so I thought it was probably worth documenting what I’ve done here for anyone interested, and so that I remind myself what I did when I inevitably forget a few months down the line! This is going to be quite a long article, so whether you are an Emacs fan, or just Emacs-curious, you might want to get a drink of your choice and settle back.
In the intervening time since first setting up Spacemacs I have been getting more familiar with
org-mode, and becoming increasingly impressed by its power and flexibility. Consequently, I’ve started writing by default in
org-mode rather than Markdown. What I like about it is that it provides a lot of features for structuring, re-arranging and editing text. For example, text with headings, lists and so on is defined as a tree, and there are commands for moving nodes within this tree up and down, or promoting or demoting them. These nodes can also be shown or hidden selectively, and you can even ‘narrow’ a buffer to a particular sub-tree, which means that this particular section of the document temporarily appears to be the only contents of the buffer. This is wonderful in a long document when you want to focus on a specific part, but still have access to the rest of the document when needed. Table editing is also superbly easy in Org files — it’s almost worth using
org-mode for this alone if you often include tables in your documents. Of course, the point of writing in either Markdown or Org format is that it is human-readable and easy to edit, but can be transformed into many other final document formats using Pandoc. Originally, I used the Pandoc mode package with Spacemacs, which is excellent and works with any source file format, but for some reason it stopped working for me. I tried everything I could to get it working again, but had no luck, so I was looking around for another alternative.
It’s nearly Christmas, and what could be more festive than writing about a command-line file manager? I’m pretty sure that I’ve tried Ranger before, but at that point it was early in its development, and I had a few issues with it. I was reminded of it again by Dr Bunsen, and decided to give it another go. It’s available via homebrew, so you can install it with a simple brew install ranger.
Sometimes, tinkering begets more tinkering. Writing about my most recent tinkering session in Tinkering with Vim, I found myself wanting to tweak one or two things a little further. This was partly because I came across a couple of very interesting Vim plugins (tmuxline.vim and promptline.vim) that — oddly — act to alter the appearance and function of the tmux status bar and the shell prompt respectively.
While I liked my previous powerline setup, a few things niggled me a little about it:
Once again, I have been tinkering about with my .vimrc and tweaking my settings. While I do still use Sublime Text as an editor, I find myself using Vim by choice much more often. Over the years I have been using Vim, I have swung from a very complex setup to a rather simpler one, as I have learned which of the ‘built-in’ features of Vim I like, and which I prefer to replace with plugins and custom settings.
I know from bitter experience of using other people’s Macs that I find it very hard to use a computer without a launcher of some kind installed. Having to mouse around to launch applications or files (let alone all the other things that launchers let you accomplish) feels positively archaic once you have got used to relying on one. As I wrote about when LaunchBar 5 was released, I’ve used (at one time or another) almost every third-party launcher including Quicksilver, LaunchBar and Butler, but in recent years, I have settled in to using Alfred exclusively.
A few months ago, I started using a bit of software called Koken to publish a kind of portfolio of my photos. I loved it, and was really happy to have somewhere to display my favourite photos that was tailored to my own needs and — more importantly — on my own server and under my own control. I was about to write a review of it when I had to switch to nginx as a web server rather than Apache and managed to break everything.
I seem to have had a weekend of breaking things on my Linode server. One of the things you need to do regularly if you have a virtual server like those on Linode is to keep the software up to date. I run ArchLinux on Linode, and it’s pretty easy to keep it updated by running pacman -Syu every month or so. It must be pretty fool-proof, because this is actually the first time in about 18 months of running the server that I’ve broken something, but it was a pretty big something.
I’ve written before about both my Pandoc workflow and my use of Texts when producing various documents for work. An excellent recent article by Kieran Healy on his own plain text workflow using Pandoc prompted me to overhaul my own rather complex setup for longer documents. If you’re new to using Pandoc, or if — like me — you had an existing workflow that was in need of a bit of pruning, I highly recommend Kieran’s article.