June 16, 2020

ClimbingClimbing

Part Two of My Battles With Emacs

TL;DR: I am confused. The journey continues.

At least one person liked my Part One. That gives me enough reason to try to document Part Two.

Travels Down the Customization Path

  1. Tried to set up a set of remember templates. Didn’t work.
  2. Set up Cua Mode to make the copy/paste/cut commands easier. It worked. Got exposed to Ergoemacs-mode. And that seemed more compatible with what I was trying to do. Switched cua-mode off and moved the keybindings to Ergoemacs. Learning curve reboot.
  3. Gave up on Ergoemacs. It brings new commands to learn and Doom was there. Didn’t want to get even more confused than I am.
  4. I got the line wrapping to work. It takes all my lines and soft-wraps to 90 characters. Makes the whole process of writing text much easier and comfortable.
    (setq-default word-wrap t)
    (setq fill-column 90)
    (setq visual-fill-column-width 90)
    (global-visual-fill-column-mode +1)
    (+global-word-wrap-mode +1)
  5. I turned on Deft, it makes the process of writing, managing, and searching for files in my notes directory much better. Like it.

I understand that this is what people do. They take the editor and customize it to suit them perfectly. I like the idea but I don’t have enough knowledge to try that. This is where the frustration sets in. This struggle is what is going to lead to knowledge but I am going to give it a break. I am going to use what I have for a while and then focus on what I need to change and what I need to incorporate. Let me get familiar with the basics, and then I will venture into the unknown of trying to tweak.

I can spend the rest of my life tweaking Emacs. Or I can start working in it and see where it takes me. I am going to stop tweaking. Start using.

I can have a bunch of buffers open in Emacs. There are files I work on every day which need to be opened by Emacs. I can find a list of buffers which are available to me with a quick keyboard command and switch between them. That seemed like a good thing to do. I set up an Alfred workflow. I can press one keyboard command and Emacs will open all the buffers I am interested in. If I need other files, I can open them from the directory later. But the major files are accessible when I need them.

Alfred workflow for EmacsAlfred workflow for Emacs

This solved the problem of individually picking files to look at. The core set is always loaded. That seems an improvement.

Comments After Four Weeks of Use

  • I am missing typewriter scrolling.
  • Outlining in Org mode is fantastic.
  • I am growing an appreciation for an editor which lets me do everything through keyboard commands. Using the mouse/trackpad is inefficient.
  • I like and dislike frames. The idea of having a large Emacs window and then different frames in the window which you can switch between, and they can all contain individual files is an interesting one. I am however used to tabs and must admit that I miss those in Emacs. The main problem I have with the window management setup in Emacs is that it is incredibly distracting. I like working, a document at a time, more than switching to a setup with multiple frames. Need to figure out workspaces and see if that solves my problem. As I am typing this, Projects and Workspaces | Doom Emacs | 프로젝트와 워크스페이스 - YouTube got posted. Seorenn - YouTube is fantastic. He did a great job with his SpaceMacs videos, and he has started on the Doom Emacs videos. I am looking forward to more of his instruction.
  • I have figured out how to use relative line numbers. Makes the process of moving around the document and editing things better. Adding the following code to the config.el helped with that:
    (setq display-line-numbers-type 'relative)
  • I was struggling with the simple copy and paste commands. This got solved when I learned of the VIM commands for copy, paste and cut.

Major Realization at This Point

I am not using Emacs.

Let me explain. Doom has turned my Emacs into VIM. Yes, there are things which are Emacs specific: like org-mode and markdown-mode, but I am using VIM for all the important actions. My editing commands, my navigation commands, and a lot else are all VIM. It took me a while to realize this. I was in Emacs. I thought I had to learn Emacs commands. Not true at all. Emacs with Doom runs better if you use VIM commands. This one realization made it a much better experience for me. I started looking at VIM videos, from ThePrimeagen. I am learning how to navigate in Emacs through the videos from this channel. Like I said, learning to live in Emacs with VIM commands.

Sincerely I don’t know whether this is a good idea. I am not sure at all. But it has the added benefit of making me pretty conversant with VIM commands. I can now use VIM if the love affair with org-mode doesn’t work out. I now know what to look for and what keyboard commands to use to get where I want to.

Strategy Moving Forward

I have decided to not add anything more to Emacs. I am going to learn what is available. That means, I will learn how to use deft, dired, search, and keep using the keyboard commands I am learning. I am staggering the number of keyboard commands I am incorporating into my workflow. I am adding them in batches. Don’t want to overwhelm myself. They have to be ingrained into my muscle memory. That will take time.

Pain-Points Document

I started a document listing the pain points I am experiencing with Emacs. I presume that after a while, I will get down to resolving these issues. The contents at this point:

  1. What are workspaces and how does one work with them?
  2. Typewriter Scrolling.
  3. How does one stop the Markdown export from org-mode files from including two spaces after the marker for lists? How does one customize that output?

A Discussion of Intent

I notice that the people who use Emacs, use it for everything. Email? Twitter? RSS feed reader? It is all done in Emacs. I do not want to do that. I am happy using MailMate for my email, Twitterrific 5 for Twitter and Reeder for my RSS feeds. They are optimized for their particular activity and I don’t see the benefit of changing from them.

If you visualize Emacs as an OS, and it is nearly one, you are using elisp bundles/packages within Emacs to perform particular functions, the integration of all these activities within Emacs makes sense. I can see that, but I am not on that road. I am using Emacs as an alternative to my other text editors. In other words, I am trying to replace Sublime Text, or BBEdit with Emacs. I am interested in writing in Markdown and org-mode. I am interested in dealing with my text files and that alone with Emacs. I am interested in reading large files in my text editor and doing it without much of a stress on the memory/processor load on my computer. That is what I am looking for. Not the kitchen sink approach that Emacs users seem to take with Emacs.

Sublime Text and to a lesser extent, BBEdit are good at that. I am unsure about what Emacs is bringing to the table for the task of dealing with my text files. These are the advantages of Emacs over the alternatives:

  1. Org-mode. This is big.
  2. Free. This is significant.
  3. A concentrated focus on the keyboard. Both BBEdit and Sublime Text can be exclusively keyboard driven, but that is not as explicit a goal of these two programs.

I suspect that my relationship with Emacs needs to mature before I am able to make an informed decision on the product. My apprehension with it is a function of my lack of knowledge/comfort with it.

I must admit that ‎Learn Emacs In Ten Years scared the hell out of me. I don’t have ten years. Not sure that I want to spend the next ten years of my life tweaking my config files for Emacs. I need to think this through before I put in a lot more time into this exercise.

Problems With Using Doom

  • Keybindings. There needs to be a list of Doom based keybindings available. The +evil-bindings.el file is not human-readable.
  • Documentation. This is a difficult task. If you assume that the user is someone who is familiar with VIM, the documentation will be different from the assumption that the user is clueless. I am looking for documentation for the clueless and that is not available.

Two VIM Books

These are the two VIM books which I am using to learn VIM.

Modern Vim: Craft Your Development Environment with Vim 8 and Neovim 1st Edition, Kindle Edition

Practical Vim: Edit Text at the Speed of Thought 2nd Edition, Kindle Edition

Resources

This is a great resource for learning Org Mode.

Org Mode - Organize Your Life In Plain Text

I am not alone. Org-roam vs other Roam-alikes

Conclusion

The journey continues. I am working at getting comfortable with Emacs. However, there is no certainty. I am questioning the reasoning behind this journey incessantly, and I am not any closer to the answer than before. At this point, I think it is stubbornness which is keeping me on the journey.

macosxguru at the gmail thingie.

Hat tip to: Photo by Suliman Sallehi from Pexels


emacs


Previous post
Kudos Helps Me Collect Information Product: Kudos a productivity tool for macOS Price: App Store $4.99 I collect information all day long. Go to a website, find something that I want
Next post
Paletro Brings the Command Palette Everywhere Product: Paletro — Command Palette in any applications Price: $6.99 The first time I was exposed to the Command Palette was in Sublime Text. All the