Customizing and tweaking the terminal is one way a geek can endlessly find delight. The following is a list of resources which I have found useful for the command line tools and interfaces that I regularly use.
Vim is one of many powerful text editors catered towards programming. I prefer it to others because it ascribes movements and actions to keys, and I find that binding behaviors to keystrokes in ways that can be combined and scripted with very powerful.
- vim after 11 years
- everything missed in vim after 11 years
- book : practical vim
- vimawesome : plugins
- master.vim : master vim through a script
- vim koans
Tmux is a terminal tiling manager which allows the user to handle multiple windows of terminal processes at once. With a little adjustment, using a terminal multiplexer like tmux, screen, byobu, or another is a significant productivity boost for anybody that works at the terminal.
- the most starred tmux cheatsheet on gist.github
- awesome-tmux : a list of resources
- tmux and mouse mode
- prettifying tmux
Git is version controlling software for anybody developing software. It’s incredibly useful for developing software collaboratively and I recommend using it if only for saving a coding project’s history.
The Bourne Again Shell is one of the most popular shells in the *nix world, and fluency is an absolute must for anybody working heavily in the command line environment.
Fish is my favorite shell for general purpose terminal use. Browsing file structures is easy with Fish’s fuzzy matching and autocomplete, and many of its themes go out of their way to highlight the status of a git repository in the prompt. These useful functionalities are helpful to me almost every day, and I find Fish’s performance slightly better than Zsh after tacking on all the functionality I’m looking for in packages.