Emacs (more specifically spacemacs)

Emacs (more specifically spacemacs)
0.0 0

(Simon) #1

As I have highlighted elsewhere on this forum, I’m not too keen on subscription model pricing. Also, I’m finding the mac world seems to be pricing itself rather steeply. This is especially evident when you use the itunes app store compared to the google play store. The recent upgrade cost to OF 3 doesn’t fill me with joy, not does the thought of OF3 mac upgrade when it comes.

A couple of years ago I played around with emacs which was extremely difficult to get used to. I then came across spacemacs and this was a far simpler ramp in. I tend to use software when it’s new for about 6 months and then let it lie fallow for a year. Once I return the decision of whether I need it or not becomes really clear and my brain seems to have processed how to use it properly and things that were a problem before now seem simpler.

Two months ago I set up spacemacs on my system. I wanted a central place to do the majority of my work. I set up the same system on my imac and macair. I only make configuration changes on my imac and if I do, I immediately copy my configuration files to dropbox so they can be placed on the macair. All my documents reside on dropbox. The setup and learning curve is still quite high, but last years stint with spacemacs has eased it.

So why spacemacs? Initially because of Orgmode; the most amazing and wonderful and stupendous productivity system anywhere on the planet; but also because plain text works for me. Here is a list of reasons:

  • All my email come into spacemacs (via mbsync and mu4e) and can be processed in seconds. A keyboard shortcut places an action in my todo file with a direct link to the email.
  • Actions can have whatever states I set, ie next, delegated, etc and all actions can be searched and grouped in those states.
  • Actions can be tagged and sorted via tags.
  • Orgmode has a full blown calendar where all my stuff with dates appear.
  • Actions can be scheduled or deadlined. For scheduled the action appears on the day, for deadlined it appears however many days I set before the deadline and appears from that date every day in my schedule.
  • Actions can be written in any org file anywhere in the org file and orgmode will find it and list it in my agenda view.
  • The agenda view lists all my actions in a diary format or allows me to see a complete list of all my action from all my files.
  • I can set the agenda view so that when I select an action it automatically opens the file it is in in a split window. Clicking on an action takes you to the file and line where the action is.
  • The Agenda view can be configured to show whatever information I want it to show.
  • The Silversearcher. Ulysses has this amazing search that not only lists the sheet, but the line which matches the search criteria. The silversearcher does this on nested directories. I can search a directory heirarchy and as I type the search phrase the silversearcher bigins to list, not only the file, but the line number and show me a few words either side of my search criteria.
  • A plain text environment needs to export and for this I use pandoc inside spacemacs and can export my plain text file to anything, docx, odt, pptx, latex, etc. Currently 30+ formats.

And the list goes on.

The only negative, is that you must give it time. This system has too many features to learn in a week or month. what I would say it that spacemacs has replaced the following apps for me:

  • Omnifocus
  • Ulysses
  • MS Word
  • Mailmate
  • Atom
  • Pagico

As I use a macair and imac, I have no need for iOS and have subsequently retired those systems. This has also saved my quite an amount of money in subscriptions.


(Justin DiRose) #2

I applaud you for going all in here. I tried orgmode a year or so ago and just couldn’t quite grasp it. However, I know people swear by it! It just had too steep a learning curve for me. I’d love to hear more about how you use it and resources you used to learn it, too.


(Simon) #3

I think it is the same as any other tool, with the exception that emacs can be a whole number of tools. I decided that I would first become familiar with orgmode before I did any thing else. To this end I actually bought a print copy of the orgmode manual. This has proved a great help as I read it whenever I had a moment as well as using it for a reference to find out how to do stuff.

Spacemacs made the jump quite easy, as it’s a fairly full featured system. I know purists will tut tut, but for a newbie, spacemacs is perfect to getting into emacs.

There are plenty of helpful tutorials around and spacemacs includes a tutorial for navigating the system. This was really helpful. Also, I chose the vim editing style. Having two states any document can be in, ie and “editing” state or “command” state took a bit of getting used to, but once in memory became very useful. Essentially the editing state allows you to write text and when you exit out of this state any keypress initiates a command. In a GUI environment the command state is all done with menus and a mouse, in spacemacs with different modes.

So my learning so far followed this progression:

  1. Install spacemacs via homebrew
  2. Complete the inbuilt tutorial.
  3. M-x (alt+x) is your best friend. I learned that if I pressed alt+x in spacemacs, I could type what I was looking for and 90% of the time a command appeared to do just that.
  4. Learn that buffer = file and window = screen real estate. If I split the screen vertically I have two windows. I can have any number of buffers open and switch between them in the window.
  5. Buy and read the orgmode manual.
  6. Learn how to navigate directories (inbuilt into spacemacs)
  7. Use orgmode
  8. Add email to the system

An important principle for me is that unless I force myself to use it, I won’t learn. This meant that once I was proficient enough in using the system I went all in. This massively slowed down my output as every time I hit an issue I had to investigate, but I’m now in the position that I’m faster than I was with the apps I was previously using and know I’m only 20% in on fully using the system.

One area that took a while for me to understand is that some packages that you install in spacemacs also require commandline installation. When I attempted to use the silversearcher commands they always returned an error. Those errors disappeared when I installed it via homebrew.

I’ve now learned and configured org-present so I can actually use spacemacs for my preaching/teaching, I’m creating email groups using abbrev and now learning how to clock in and out of tasks so I can track my productivity.

My main bit of advice would be to only learn one thing at a time. Emacs has so much it can do that if you try to get it all working it will drive you mad. Also, create a file in which you make notes of what you do. I have an emacs.org file into which I copy every url that has helped, every command I have learned so I retain a reference of what I did. I’m now looking at going through my config file aswell and making clearer comments as to why that setting is there.

And remember, that in all honesty emacs is its own operating system. This is essentially why the learning curve is so steep. You move from mac to Linux and it’ll take a long time to adjust.

One other reason I moved to this system is that it is OS agnostic. I see more and more chatter on the internet about the price of mac computers. Most of my files are plain text. My last few months of work amount to just over 3mb. If I needed to I could purchase a cheap computer and run this system. I’m also free from proprietary software. I can export to any format and import from any format.

Final thing is that I have found that working with a dark background is much better for my eyes. I occasionally get eye migraines where I cannot focus as there are lots of floating patterns when I look at something. I use a dark theme and find I have less migraines. I also find that when I switch to a web browser with lots of white background I actually wince at the brightness!


#4

spc-spc is also a good leading key in spacemacs