Tools

A non-exhaustive list of tools I find useful.

Command line

  • bat - Replaces cat.
  • Cscope - A code search tool for C and other languages.
  • exa - Replaces ls.
  • fd - A modern alternative to find.
  • fzf - A fuzzy-finder for files and directories.
  • htop - Replaces top.
  • HTTPie - A HTTP client.
  • icdiff - Replaces diff.
  • mosh - A robust replacement for ssh.
  • ncdu - Disk usage analyser; replaces du.
  • neovim - A text editor.
  • Nix - A package manager.
  • pass - A local password manager based on gpg.
  • qmv - Quickly rename files in a text editor.
  • ripgrep - A text search tool; replaces grep.
  • una - A universal unarchiver.
  • zsh - A shell.

zsh plugins

I use antigen to manage zsh plugins.

(Neo)vim plugins

I use vim-plug to manage vim plugins.

  • better-whitespace - Highlights trailing whitespace and makes it easy to remove.
  • Cscope - A plugin for the code search tool mentioned above.
  • ctrlp - File search plugin.
  • fswitch - Toggles between C header and source files.
  • gitgutter - Shows a git diff in the page gutter.
  • neocomplete - Autocompletion engine that is very easy to set up.
  • NERDTree - Nice directory browsing.
  • numbertoggle - Toggle line numbers between absolute and relative mode.
  • tComment - Provides shortcuts for commenting out blocks of code.

Python development

I typically write Python in terminal vim. These CLI tools make development easier:

  • pyenv - Manage Python versions.
  • pipx - Install Python CLI tools in isolated environments.
  • poetry - Dependency and package management.

Graphics

  • ipe - 2D vector graphics editor.