Tools of the Trade

This is note to self post. I am listing here, some of the tools that i use on a daily basis. Some of these tools are just awesome, like powerline. The picture below is the current state of my terminal window :-)

3

  • Vi Commands :set paste :%le -> indent everything to the left r -> to replace a single character * -> finds word under cursor CTRL + p -> auto complete word CTRL + V (visual block after which use normal vi commands like dd) CTRL + V, Make Selection, SHIFT + i, press any character, press ESC -> this adds a character before each line in selection Splitting CTRL + w + s -> horizontal CTRL + w + v -> vertical CTRL + w + w -> move in split panes
  • Vi plugins NERDTree -> file explorer in vi TagList -> source code browser, useful to browse python functions TaskList -> highlights TODOs autoclose -> closes opened brackets, parenthesis etc pythoncomplete/jedi-vim -> python code completions syntastic -> syntax checking on save
  • Use Terminal on mac, and install tmux plugin
  • Use Tmux over screen, find it easier to use, navigate, resize etc.Use to split single screen in multiple panes, and also keeping sessions alive. Default control character is CTRL + B, change that in config. CTRL + a + s -> horizontal CTRL + a + v -> vertical CTRL + +a + arrow keys -> move between panes CTRL + a + w -> list and switch between windows CTRL + a + Option + arrow keys -> increase/decrease pane height/width CTRL + a + q -> show pane numbers CTRL + a + c -> create new tmux window CTRL + a + ] -> paste selection
  • Powerline - install new powerline (python based) to show git branches, status codes etc
  • Python vitrtualenv virtualenv wrapper pyTest grin (grep like search) celery -> task queues argh -> use dispatchcommands colored, puts -> handy libs yield -> for performance looping, also generator/iterator difference requirements.txt, setup.py -> for module installation iPython
  • use docker
  • etcd -> key/value store
  • hubflow -> manage fetaure branches, release process
  • dashing -> create cool dashboards
  • SSH commands on hung ssh -> press enter + ~ + . to end the session immediately on a ssh session -> enter + ~ + ? brings up a list of available commands