Some of the smartest people I know swear by a terminal-based, text-only workflow. They tell me that Vim and tmux and Markdown and a terminal are all anyone ever needs. I love the idea, but it never works.
I’m comfortable in Vim and I’m learning to utilize tmux and I write most everything in Markdown. I can fly around in files and panes using only the keyboard and I find there’s nothing like Vim for the sheer pleasure of editing text. It’s all pretty awesome. But let’s be honest, unless text is the only thing you’re dealing with, it’s also very limited.
Viewing a directory listing of text files, no matter how consistently named just isn’t that useful to me compared to something like an outline of rich text notes in Tinderbox or a notebook full of text and images and PDFs in Evernote. Even a list of notes in nvAlt is better.
Writing anything of substance in Vim, no matter how tweaked out my .vimrc gets, is never as smooth and comfortable as I’d like. Invariably, I get lazy and go back to writing in something like Ulysses1. At least it’s not Word, right?
Speaking of Ulysses. When Ulysses III came out I was initially disappointed that they’d “dumbed” it down from the version I was used to. I was wrong. They hadn’t dumbed it down, they just made it so I could be dumber while letting the software do the work. And that’s the key. With a text-only workflow in a terminal, I feel that I have to do too much of the work. I either have to remember hundreds of arcane key commands (both the commands and that the commands are available) or I have to write something to do the work for me and wrap it up nicely. I’d rather just start writing.
Where does that leave me, text-wise? Unfortunately the jury is out, but right now I’m in sort of a middle ground of using text files but managing and writing them in fancy tools. I still create a lot of text files, formatted using Markdown2, but when writing anything more than a quick note, I use Ulysses or Tinderbox. I always have an iTerm/tmux window open for when I need a terminal: making quick text file edits, managing todos using taskwarrior, etc. I think it’s a pretty nice mix of both worlds.
So while I’m not ready to commit to all-text-all-the-time in a terminal, I can still reap many of the benefits without working too hard.