Just a small list of software and plugins that without I couldn't continue as productive JavaScript developer and Linux user. I encourage you to try those out aswell. Everything on this list is having productivity in mind.

Vim

Highly configurable text editor built to make creating and changing any kind of text very efficient

I got into Vim at 2010 when I saw my colleague working with it and, well, he seemed to master it and I immediately noticed how powerful this is and how productive you can be with it. Result is, for almost 8 years now, no Sublime user has got me over or even gained any of my attention to other editors. And never will, because I enjoy working directly from terminal. And I want to be able to use my favourite editor from any server I ssh into.

Obviously, barebones Vim isn't probably exactly what you want, so here's my list of plugins that I use mostly for JavaScript development. I would list notable ones separately, but as they are all very important to me, here is full list of plugins that I need and would be quite sad without any of those:

Notable plugins:

For Development / JavaScript:

Tilda

Drop-Down terminal for Linux and Unix

This is quite recent one because I was using Guake before. Tilda won me over with stability and speed. There's not much to add: you press your hotkey and you have your beautiful, highly customizable terminal in front of you. And command line is where I spend most of my time, so quick access is important :)

Tmux

Terminal multiplexer

Probably something you fall in love in first sight. If others in this list may need learning or tweaking and it takes some time to get used with, then this one will impress you immediately. Ofcourse, by having some configuration to it, it becomes irreplaceable in your toolchain. Here I can note vi-mode, which allows you to move around your output vi-style and do yank(copy) and also hjkl keys to move around panes:

Notable config:

# Use Vi style key bindings to move around copy mode
setw -g mode-keys vi
# Vim style bindings for pane movement
bind-key -r h select-pane -L
bind-key -r j select-pane -D
bind-key -r k select-pane -U
bind-key -r l select-pane -R
# Vim-style copy/paste
unbind [
bind y copy-mode
unbind p
bind p paste-buffer
bind-key -T edit-mode-vi Up send-keys -X history-up
bind-key -T edit-mode-vi Down send-keys -X history-down
unbind-key -T copy-mode-vi Space     ;   bind-key -T copy-mode-vi v send-keys -X begin-selection
unbind-key -T copy-mode-vi Enter     ;   bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "tmux show-buffer | xsel --clipboard --input"
unbind-key -T copy-mode-vi C-v       ;   bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
unbind-key -T copy-mode-vi [         ;   bind-key -T copy-mode-vi [ send-keys -X begin-selection
unbind-key -T copy-mode-vi ]         ;   bind-key -T copy-mode-vi ] send-keys -X copy-selection

Zsh

Zsh is a shell designed for interactive use, although it is also a powerful scripting language.

Switched to zsh from bash cause of it's awesome features and plugins. Again, you need some frameworks and plugins to make it super awesome.

Notable plugins:

  • oh-my-zsh - it just makes everything smooth and easy for you
  • vi-mode - use vi shortcuts in command line. Life-changer, totally
  • z - Access your most accessed / recent folders with ease. Awesome little thingy!

Other plugins:

Insomnia

Cross-platform REST API Client

Cause postman is so slow.

Screenshot time

Click to enlarge: Screenshot