Rtodev.tech blog

Going low tech

I'm using more and more termnal based app when working on computer. I enjoy simplicity and I like my tools to be distraction free. It is perhabs a reaction in front off all the popular tools that people seem to use de facto. Who knows.

Terminal: TMUX

I use a single terminal window with Tmux. Tmux make it easy to create window, organize them, create pane and copy and paste. I don't have a lot of customization (mostly vim binding and solarized colorschem).

Terminal colorscheme is dark. I prefer having a dark shadowy enviromnemt rather than bight and use a bright colorscheme. Bright env with dark colorscheme is unreadable, so I keep config files to switch if necessary.

My shell is zsh, because it is compatible with bash that I know more or less with an extended set of features. I do not use oh-my-zsh in spite of its quality, because I prefer having more control on the configuration and keep everything simple.

I just went back to Alacritty as terminal emulator. I like its yaml plain text configuration, and it's beautiful. I'm fine with the default colorscheme, so it's cool.

Text editor: VIM

I'm still using Vim from the terminal. Colleagues use PHPStorm for PHP code and VS Code for the rest (JS), but their cognitive load has become too high for me. I know they provide Vim mode, but it's worse: as it's obviously not Vim, my brain has difficulties to associate the keystrokes I know to the editor. And I miss my vimrc.

What is so cool about vim in the term? First, I stay in the terminal and tmux, so I can switch context easily. I just have to do Ctrl-Z to put the editor in background and launch a command. Configuration is easy to edit and reload.

The user interface is very lean, so I can focus on the text buffers. The command syntax is designed following a grammar that help the user to remember them. Example d for deletion can be suffixed by a context, like diw for delete inside word or dit for delete inside (html) tag.

It is also easily extensible with plugins but I do not use a lot of them. Their quality vary. I have removed lately vim-python-pep8-indent as it was making the editor lag (I prefer using black for Python code, so it's not a great loss)

The main issue is for code completion. I know I can configure stuff like completion servers, but seriously guys, it's too much for me and by experience, there are ways for them to fail (I had the issue with jedi python completion).

Usually I type my import by hand or copy paste them from other files / documentation. Then the standard completion provided by Vim is often enough.

My regret is that I'm not a fast typer, so it takes me time to write imports correctly!

I also refer to the source code of the libraries I use from time to time to ensure that I have a good understanding of a feature. For some javascript libraries, it is just mandatory. Don't be affraid to look at the source (as I was until recently)!

Email client: mutt + mbsync and msmtp

I fell in love with mutt. Vim binding, use Vim to edit email, easy integration of gpg (with gpgme). It allows me to check emails headers if needed.

Sometimes issues with attachment file name encodings, but not a big issue to me.

I use it only to read emails and trigger sendings. Imap synchronisation to local directories is performed by mbsync and sendings by msmtp.

Music player: CMUS

I've used mpg321 a lot to read mp3 files. Now I manage my music library from the terminal with Cmus. Bindings are easy, it allows to add files, handle queues and playlists. You can seek a timecode. I don't know if I can increase play back speed. I use it for podcast which I download when I can (curl) instead of using online players

Next web browser: w3m?

I think my next step is to browse the Internet with w3m. Frankly, though it definitely has a learning curves, the keystrokes are not so hard to remember. Images are not displayed until I decide to explicitly display them, there is no JavaScript. Awesome. I use it from time to time to read articles online.

In the same idea, I read about the Gemini protocol and its goal to go back to a more lean and simpler web. Very interesting.

Learn from the master

This post is inspired by Richard Stallman setup and way to use computers. I really like his approach and radicallity.

Posted on 2021-02-16 at 23:00

Previous Back Next