Keybindings FTW! ⌨️🥂
Tags: productivity, tooling, linux, softwaredevelopment
Published: 2024-07-07 11:56:33

Keybindings or keyboard shortcuts are essential to an efficient workflow.
They help you navigate faster, be more productive and reduce the time you spend on repetitive tasks.

My workflow is heavily keyboard driven and primmarily relies on a browser and a terminal within a tiling window manager, for these I use my own set of keybindings. Because I work on multiple machines and operating systems, I have to keep track of all the keybindings I use and make sure they are somewhat consistent across all the systems and tools.

I realized that this keybinding information was scattered across the internet and several configuration files, making it hard to find when needed. So, I embarked on a journey to document all the keyboard shortcuts I use daily!

The purpose of this post is to provide a central location / index for all the keybindings I use across different tools and operating systems.

## Tools Covered

Here's all the tools I covered:

### Aerospace

Aerospace is my go to tiling window manager for macOS, its similar to i3, [find out more here](https://github.com/nikitabobko/AeroSpace)

- [Configs](https://github.com/2KAbhishek/mac2k/blob/main/config/aerospace/aerospace.toml)
- [Keybindings](https://github.com/2KAbhishek/mac2k/blob/main/docs/aerospace.md)

### Alacritty

Alacritty is a cross-platform, GPU-accelerated terminal emulator. [find out more](https://github.com/alacritty/alacritty)

- [Configs](https://github.com/2KAbhishek/dots2k/tree/main/config/alacritty)
- [Keybindings](https://github.com/2KAbhishek/dots2k/tree/main/docs/alacritty.md)

### Arc Browser

Arc is a web browser built on Chrome, that provides some handy features. [find out more](https://arc.net/)
Its my primary browser on MacOS.

- [Keybindings](https://github.com/2KAbhishek/mac2k/blob/main/docs/arc.md)

### MacOS

I change very few of the default keybindings on MacOS at a system level.
I remap the `Caps Lock` key to `Escape` and Swap `Fn` and `Ctrl` keys.

- [Keybindings](https://github.com/2KAbhishek/mac2k/blob/main/docs/macos.md).

### Neovim

Neovim is central to my workflow and my primary editor, where keyboard shortcuts significantly enhance productivity.

- [Configs](https://github.com/2kabhishek/nvim2k)
- [Keybindings](https://github.com/2KAbhishek/nvim2k/blob/main/docs/keybindings.md)

### Qutebrowser

Qutebrowser is a keyboard-driven browser that can be used with minimal mouse interaction.
It's my primary browser on Linux and I use it on MacOS as well.

- [Configs](https://github.com/2kabhishek/qute2k)
- [Keybindings](https://github.com/2KAbhishek/qute2k/blob/main/docs/keybindings.md)

### Raycast

Raycast is a macOS app launcher with tons of expandable plugins.

- [Keybindings](https://github.com/2KAbhishek/mac2k/blob/main/docs/raycast.md)

### Shell

Efficient shell usage is crucial, I use zsh as my primary shell but knowing the basics of bash is also important.

- [Configs](https://github.com/2KAbhishek/dots2k/tree/main/config/shell)
- [Keybindings](https://github.com/2KAbhishek/dots2k/blob/main/docs/shell.md)

### Sway

Sway is my primary window manager on Linux, it is a wayland port of i3.

- [Configs](https://github.com/2kabhishek/sway2k)
- [Keybindings](https://github.com/2KAbhishek/sway2k/blob/main/docs/keybindings.md)

### Tmux

Tmux helps manage terminal sessions efficiently, I rarely have a terminal open without tmux.
I manage all my tmux keybindings with [tmux-tilit](https://github.com/2KAbhishek/tmux-tilit)

- [Keybindings](https://github.com/2KAbhishek/tmux-tilit/blob/main/docs/keybindings.md)

### Vimium

Vimiun is a Chrome extension that provides keyboard shortcuts for navigation and control in the spirit of Vim.

- [Configs](https://github.com/2KAbhishek/dots2k/tree/main/config/vimium.json)
- [keybindings](https://github.com/2KAbhishek/dots2k/blob/main/docs/vimium.md)

### Zsh

Zsh is my primary shell, I use it with oh-my-zsh and powerlevel10k among other plugins.

- [Configs](https://github.com/2KAbhishek/dots2k/tree/main/config/zsh/keys.zsh)
- [Keybindings](https://github.com/2KAbhishek/dots2k/blob/main/docs/zsh.md)

## Wrapping Up

Alright, that's all for now, I hope you find some of these keybindings helpful.
Feel free to tweak these keybindings to suit your needs better, I will be updating this list as I add more tools and keybindings to my workflow.

Remember, the key to efficiency is not just knowing these shortcuts, but incorporating them into your daily workflow.
Keep practicing, keep exploring, and you'll find your productivity soaring in no time. Happy coding!