Help me pick an editor

Hej,

So, the proverbial shoe has dropped and I will soon be starting graduate school (again). Preparing for this was the original impetus behind adopting the Zettelkasten method and working to use more plain-text based approaches. Prof. Kieran Healy's approach to Plain Text Social Science has also been inspirational in my first steps with all of this.

That said, I'm also still a novice to much of this approach. Even switching from a word processor to Typora (a markdown editor) about a year ago was a big shift for me. I've made my living as a high school humanities teacher, so simple markdown files was enough for my lecture notes, handouts, etc. As I prepare to pursue my next degree (an MS in Geographic Information Science and Technology), I need a text editor that can do more than just markdown. Which editor(s) would best meet my needs?

Here are my criteria:
1. Desktop app (macOS)
2. Support for Python, R, and SQL (standard languages used for GIS and social sciences). I don't know these yet, but will be rapidly learning them in the next 18 months.
3. Likewise, some level of supporting TeX. (I was reading a thesis written by a graduate of my program a few days ago. The idea was beautiful. The formatting of the formula was gross. I said aloud, "Couldn't you have used TeX for that?")
4. When writing text (think academic papers or literate programming), understanding of Markdown and/or Multimarkdown. I do love me some footnotes. I'll also be setting up a reference manager.
5. Syntax highlighting for all of the above, if possible. I have vision issues and even light syntax highlighting is incredibly helpful.
6. Supports export to PDF for submitting papers (this could be done by pandoc or natively)

I'm not opposed to paying money for an app, if I can be certain that it will precisely meet my needs. I'm envisioning being able to write my papers in one application, shifting between text, diagrams, maps (generated in R or imported from GIS programs), and formulae as seamlessly as possible. The beauty of such a approach, to me, is that it also could be fully implemented for my work in the humanities, where it is not uncommon for my work to have several writing systems or diagrams to explain a concept. This may be too broad an approach. Nevertheless, any thoughts are welcome.

• Writing in Plain Text: A Tutorial for the Non-Techy Writer is part 1 of a seven-part series on academic writing using Pandoc, markdown, plain text editors, and a reference manager. It goes into great detail.

The editors that can do what you want are nearly all programmer's text editors. Think Vim, Emacs, etc. You may want to use different editors for different tasks rather than bending one editor to do everything.

There are a couple of resources you can use to find editors for your needs. TextEditors.org has extensive coverage about most text editors, and Wikipedia's comparison of text editors is also very helpful.

:wq

• For light scripting, Markdown text editing, and (La)TeX draft revisions, I have had great success using the FOSS TextMate 2. https://macromates.com/

Even though I customized the heck out of Emacs, which is a perfectly fine but awkward coding and writing environment, TextMate 2 is still my default editor for everything. For books, I usually whip up a LaTeX-to-PDF compialtion script that executes pdflatex and biber etc. a couple of times for me automatically; but my LaTeX-based invoices I generate with TextMate by hitting ⌘R to "Compile" to PDF.

Maybe more modern but similarly powerful is VSCode. I cannot recommend this for daily use because I never used it, but lots of people just love it, and it has an active community for R and Python plugins.

Author at Zettelkasten.de • https://christiantietze.de/

• Perhaps Bare Bones' BBEdit also deserves a mention.

• The good news is that almost any modern text editor can do all that you ask. Some may require more configuration than others. The bad news is that there are lots of opinions and preferences, and it's not possible to give a universally accepted right answer.

I use vim to write markdown, latex, python, C++, and in fact for pretty much everything. But vim is intimidating and not necessarily what you're looking for.

Sublime Text and VSCode are widely used and mostly "just work" out of the box.

• This is all very helpful, thank you!

• edited May 2020

I suggest having a look at SublimeText. I'm in science and use it for programming in Python, R, etc. and also heavily to write documents in LaTeX (using the excellent LaTeXTools package). Using Package Control, it is really easy to explore and install packages from within the editor.

Bonus points (for me):

• There are also lots of fantastic themes and colour schemes (also installable via Package Control).
• All configurations are done via simple configuration files.
• SublimeText is cross platform.
• I bought the license but you can use it without license as long as you wish – the only difference is that every 30 saves there is a pop up asking you to consider to buy a license.

And there is also the Zettelkasten Package SublimeZK, which I don't use, but it looks really good.

• edited May 2020

Being a sociologist, I was inspired by Healy's Plain Text Social Science (which you also refer to), I started using Atom as a text editor, writing my texts in Markdown and using pandoc to generate PDFs.

In 2017, also because of Healy, I started exploring Emacs as a text editor (actually by using Spacemacs first, and then vanilla Emacs). Ultimately, I used Org-mode (a text markup system with as its briefest description: Markdown on steroids) in Emacs to write my PhD. It was a wild ride and a steep learning curve, but I am so happy to have found an editor that is so incredibly versatile, powerful and extendable. You can write LaTeX in it, use it to keep notes, turn it into a todo-manager (well, use Org-mode for that, really), write any code you want, etc. And most importantly, this really feels like software that I'll be using for a long, long time.

I don't want to 'advise' anyone to use Emacs, because of its learning curve and the investment it requires. But if you have the time and are willing to take a deep dive to learn how to use an incredible tool, you might want to take a closer look at some experiences of people who use it.

• The thing to remember is that you are a beginner just once but will use an editor for many years so while initial learning shouldn't be hard, picking an editor that allows you to be really proficient will pay off in the long term. For me it is vi but there are other choices. When I first used vi, I went through most of its commands and practiced them. It has a consistent command model so it wasn't hard. It took me a while to be proficient but now I can edit faster in it than anything else. Similar practice will pay off with emacs, vim, sublime etc.

For LaTeX I use TeXworks but still prefer doing most of the editing in vi. TeXworks editor is fine for light editing. And there are other choices TeXshop (on the Mac), TeXstudio etc. There are also websites that provide similar features. All of them will allow you to use bibtex as well as create PDF output.

• I come from the humanities and do not have a background in coding. I use Sublime Text and found it straightforward to use and configure. I mostly use it to write screenplays and edit markdown although I dabble in learning to code. I use it as an external editor for The Archive if I have a very large block text I'm breaking up into zettels. Facility keyboard navigation and GOTO commands makes this a relatively quick process.

Admittedly, every few weeks I re-open emacs and start learning it again. For some reason, I keep getting drawn back to it even though Sublime is perfectly great. Perhaps it's only a matter of time before I take the dive.

Hope this information proves useful. Wishing you well in with your decision.

• Hej,

For the time being I have decided to go with VS Code. Another friend of mine uses it extensively and also offered to help troubleshoot. Thanks again for your input!

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!