Using Vim + Tmux as your IDE for everything

Factors affecting coding speed

When you are writing code, you want to be as productive as possible. A good development environment could really speed up coding. So how to make this environment effecient. Lets carefully analyze what happens in a typical development process and see what factors affect your speed of coding:

  • Typing speed: It comes with practice and your IDE really can't do anything about this.
  • Autocomplete: Your IDE should be aware of the names local variable, keywords and library methods and class names.
  • Repeated Code Snippets: You don't want to be writing that tedious class header or that for loop declaration that contains the semi colons, plus signs, greator/less signs. Your IDE should know what is freqently declared in a language and should assist in removing redundancies in writing code.
  • File switching: Your project contains multiple files some of which might need to be edited together. Also, you might just want to take a peek at some file hidden deep in a directory tree. You should be able to quickly search for any file in your project and open multiple editors in one screen.
  • Real time error: If you forget to place a semicolon, you disserve better than your compiler throwing a list of wierd errors, setting you back another half an hour. You should be aware about any common syntactical and semantical errors in your code ASAP!
  • Inplace Compilation: You should not have to minimize your text editor, go to terminal and write the compile command again and again. You should be able to send the compile command while sitting in comfort of your editor.
  • Shortcut Keys: If anything really slows your down, its the time taken for your hands to leave the warmth of your keyboard, finding the mouse/trackpad and the whole trip back again. The keyboard should be sufficient for all your chores. Mouse is for Counter Strike.

  • Project Switching: When you start a new project, there is a high chance that some part of it would be "inspired" from your previously completed project. Maybe you want to look at how you managed add a cache layer to that database call in your last project. And you certainly don't want to use your mouse to minimize your current project, open file browser, remember where your project was saved.

    Vim + Tmux

    Turns out your best IDE is nothing but your Command Line or Terminal.