Oh hey, that’s my post! Glad to answer questions. I’ve been using this setup for a couple of weeks and like it very much. I should emphasize part of why this was so easy is I’m working on code alone. But I think the idea could be adapted for any project that uses a rigid formatting system on checked in code.
I have been using proportional fonts for programming for, oh I don’t know, 15 years? something like that. I can’t imagine ever going back to monospace fonts.
What languages do you work in? Do you have trouble working with other people? I’m also curious if you go through so much formatting effort; my setup really relies on YAPF and tab indents.
C, Go, assembly, nowadays Rust too. No trouble with other people really. Interestingly enough, when I show my screen to other people, few even notice (or perhaps they notice but they don’t complain).
I do use gofmt, although with the exception of struct field alignment my code is already gofmtd when I write it. I would like to use rustfmt, but it’s terrible. As for C, I don’t use clang-format or anything like that.
The fact that my terminal is a dumb terminal and can’t show any colors is a far greater interoperability issue for me. People’s commands spew ANSI colors at me even though I have set TERM=dumb.
The nice thing about monospace fonts is that they make it easier to align code; doing so improves readability. Spaces are for alignment, not indentation. It’s also why I like the gofumpt code formatter for Go: it does everything that gofmt does, but also adds in some vertical alignment for keys/values when assigning variables across multiple lines.
Yeah if you like to align things inside a line then this approach (and most formatters) isn’t going to work well for you. Although you could in theory still use a proportional font, you’d just need the editor to typeset the alignment for you. In practice that seems impractical.
The longer I’ve been coding the longer I actually have the desire to align things. There are a few cases where it can improve readability (make it easy to comoare similar adjacent lines) but usually I find that one of the following downsides is more important:
There are definitely still some cases where aligning is the right thing to do but it is rare enough that I didn’t miss it much. (And if the lines are truely that similar they often align anyeays as long as your have fixed-width digits which I do definitely recommend)
I would very much line to code with proportional fonts but I like vim and it is very tied to characters on a grid. It does the wrapping before outputting to the screen and letting your terminal decide when to wrap makes it very unhappy.
Maybe I should try to switch to another modal editor but there are a lot of advantages to a terminal-based vim that I’m not sure is worth trading off.