As developers you spent a lot of time on the keyboard. While you can make programs with the mouse in some graphical programming languages, it just isn't very convenient. So what keyboard driven programs exist?
Vim is a popular editor that has been around for ages. Many developers use vim or vim keybindings in their IDE, simply because it's convenient to press keys rather than going through the file menu.
Vim has always been one of my favorite text editors for Linux and Mac. Vim is similar to the editor vi, but has more features.
It is keyboard driven and has quite a hard learning curve (learn vim). Because it's been designed decades ago, some things makes less sense today. To give you an example, you can use both the keys h,j,k,l and the arrow keys to move the cursor. That's because in those times, there were no arrow keys.
It can be used both in the Linux shell and in a graphical interface. Personally I have also used its keybindings in Visual Studio, Visual Studio Code and other programs.
Vim isn't the only keyboard driven program out there. So what else is out there?
sxiv: an image viewer
vifm: a file manager with curses interface, which provides Vim-like environment
qtile: window manager for the X Window System
i3: a tiling window manager. It doesn't use vim keys by default but is completely keyboard driven
tmux a terminal multiplexer that you can use instead of tabs
vimium add vim bindings to chrome
qutebrowser a vim keyboard-focused browser with a minimal GUI.
While many graphical programs have keyboard shortcuts, they aren't all completely controllable with the keyboard.
If you know of other cool programs that rely on keyboard shortcuts, let me know in the comments.
Top comments (1)
You mentioned qtile and i3, which are both great tiling window managers, but IIRC the most "vim-like" one in terms of usage and default bindings is herbsluftwm. It's a manual tiler, and the way you split windows and fill the area with a new one is very similar to splitting panes and filling them with a new buffer in vim. Never actually used it seriously (I use AwesomeWM), but it looks cool.