Tools (updated)
Table of contents
- Editor / IDE
- Vim plugin manager
- Vim plugins
- Terminal
- Shell
- ZSH manager and plugins
- Mux / Multiplexer
- Tmux plugin(s)
- Dotfiles manager
- Web browsers
- Music daemon and player
- Webservers
- Others
This is an update to an old article Tools I use.
Editor / IDE
- vim
- I have been a
vim
user for 7 years. I started in 2014.
Vim plugin manager
- Vundle
Vundle
is short forVim Vundle
.- A former colleague said he is using pathogen, so I have decided to use an alternative.
Vim plugins
For comprehensive list, see my vim rc file.
As of posting, the last update of my vim rc file, was 2 years ago. There are changes on my local that weren’t pushed to the repository; and I also have different versions of vim rc file depending on the host operating system.
As of now, they will stay on my local.
Here are some plugins that I use:
- easymotion
- This provides a much simplier way to use some motions in vim.
- fugitive
- This is a git wrapper for vim.
- nerdtree
- I seldom use this but this provides a sidebar directory structure in vim.
- syntastic
- I use all the time with vim, passively. This checks code syntax of what I write when I save it. See the following screenshot:
- Img src: https://github.com/scrooloose/syntastic
- ctrlp
- This I use all the time. This is a full path fuzzy
file, buffer, mru, tag, ...
finder for vim. - delimitMate
- I also use this all the time, passively. This plugin provides automatic closing of quotes, parenthesis, brackets, among others.
- tabular
- I use this when needed especially with tables. See vimcast.
- tagbar
- I seldom use this when needed. This provides a sidebar to vim for all tags in the current file, among others.
- indent-guides
- Indent guides for vim.
- markdown
- A markdown highlighter in vim.
- emmet
- A support for expanding abbreviations.
- Example: type in
html:5
and pressCtrl y
and,
- The above will become
-
<!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title></title> </head> <body>
- sparkup
- Similar to emmet but can do more. For examples, see here.
- YouCompeleteMe
- A code completion engine for Vim. See animated screenshot below:
- Img src: https://github.com/Valloric/YouCompleteMe
- Powerline
- This is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awsome and Qtile.
- gist
- A vimscript in creating gists in gist.github.com. To create gist, one can just
:Gist
andENTER
. Then, it will return the link to your gist. This however, requires webapi for this plugin to work.
Terminal
- iTerm 2
- When in Mac, I use iTerm 2.
- guake
- When in Linux, I use guake.
Shell
- zsh
zsh
is a shell designed for interactive use.- Bourne-again shell
- Bash is a Unix shell as a free software replacement for Bourne shell.
- fzf
- This is a plugin.
- It is a general-purpose command-line fuzzy finder.
- Img src: https://github.com/junegunn/fzf
-
When I am lost where I am with vim, I just use fzf’s plugin for vim with
:FZF
. This does not create vim buffer, so as much as possible, I stick withctrlp
vim plugin.
ZSH manager and plugins
- oh-my-zsh
- A community-driven framework for managing your zsh configuration. Includes 180+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 120 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
- z
- Jump quickly to directories that you have visited
frecently
. - A native
zsh
port ofz.sh
. - git, git-*
- The git plugin provides many aliases and a few useful functions.
Mux / Multiplexer
- Screen
- In remote servers, I use screen to manage my sessions.
- tmux
- In my local desktop environment, I use tmux to manager different sessions and projects.
- It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.
Tmux plugin(s)
- tmux-mem-cpu-load
- CPU, RAM memory, and load monitor for use with tmux.
For my .tmux.conf file, please check my dotfiles.
Dotfiles manager
Web browsers
- Chrome / chromium
- I use, for regular browsing.
- Firefox
- I use, for development, theming, and debugging.
Music daemon and player
- mpd
mpd
stands formusic player daemon
.- mpc
mpc
is a command line formod
.- ncmpcpp
- Featureful ncurses-based MPD client inspired by ncmpc.
For installation, see installation guide article.
Webservers
- Nginx
- I use now in my remote server as well on my local, when setup manually.
- Apache2
- Mostly used and is the default web server for my docker containers and docksal projects.
Others
- console
- I use console all the time. I have crazy plans to do everything on console.
- bash
- I just love writing bash scripts.
- docker / docksal
- I use docker all the time.
- I use docksal with my Drupal projects.
- Synology
- I just have synology at home where my CCTV is sync’ed into 24/7/365 and at the same time syncs to my google suite’s drive.
- I also use it to manage local DNS.
- I also use
docker
in it to launch applications such as jellyfin. - TrueNAS SCALE.
- TrueNAS SCALE is a free and Open Source Hyperconverged Infrastructure (HCI) solution.
- Built on TrueNAS CORE, SCALE adds Linux Containers, KVM, and scale-out ZFS storage capabilities.
- This is similar to Synology, only way way faster.
- I also use
docker
in it for my heavy duty LAN-wide applications. - Caprover
- CapRover is an extremely easy to use app/database deployment & web server manager for your NodeJS, Python, PHP, ASP.NET, Ruby, MySQL, MongoDB, Postgres, WordPress (and etc…) applications!
- I also use
docker
in it for some of my applications that can be accessed over the internet.