5 Tools For Senior Engineers (Code Without Your Mouse)
5 Tools For Senior Engineers (Code Without Your Mouse)
Introduction
https://projects.100xdevs.com/pdf/senior/se-1 1/10
7/8/24, 11:58 PM DailyCode
vi
vi is a terminal based editor
Normal mode
1. h → left, l → right , j → down, k → up, (हंसते लोग लगातार रास्ते जाम देख कर उदास होते हैं)
2. 0, $
3. e, b
4. gg, G
5. p ⇒ paste
Visual mode
1. h → left, l → right , j → down, k → up
2. 0, $
3. e, b
4. gg, G
5. y ⇒ copy
6. d ⇒ cut
Insert mode
Type away!
https://projects.100xdevs.com/pdf/senior/se-1 2/10
7/8/24, 11:58 PM DailyCode
Extra commands
1. Exiting out of vi
1. :q
2. :q!
3. :wq!
2. Undo redo
1. u - undo
2. ctrl + r - redo
3. Search
1. / + what_to_search
2. :line_number - go to line
vimium
Vimium lets you navigate the browser with just your keyboard
https://projects.100xdevs.com/pdf/senior/se-1 3/10
7/8/24, 11:58 PM DailyCode
Chrome link -
https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
Helpful keymaps
1. ? - help
2. d, u
3. j, k
4. r to reload
6. Tab management
1. J → Left tab
2. K → Right tab
Neovim
https://projects.100xdevs.com/pdf/senior/se-1 4/10
7/8/24, 11:58 PM DailyCode
nvim is a fork of vim. It provides you a rich plugin system that lets you create plugins in
vimscript or lua
Ref - https://neovim.io/
1. nvchad - https://nvchad.com/
2. lazyvim - https://www.lazyvim.org/
Vim in VSCode
https://projects.100xdevs.com/pdf/senior/se-1 5/10
7/8/24, 11:58 PM DailyCode
The vim plugin in VSCode lets you use vim keymaps inside VSCode to start a slow migration
towards vi
Window managers
https://projects.100xdevs.com/pdf/senior/se-1 6/10
7/8/24, 11:58 PM DailyCode
Window managers let you move around and position windows on your machine
1. i3 (linux)
2. Rectangle (mac)
1. ctrl + optoin +
TMux 3. enter
4. U
5. I
6. J
7. K
https://projects.100xdevs.com/pdf/senior/se-1 7/10
7/8/24, 11:58 PM DailyCode
Ref - https://github.com/tmux/tmux/wiki
TMux stands for terminal multiplexer
1. Sessions
2. Windows
3. Panes
Common commands
1. tmux
3. tmux ls
4. tmux a -t 0
7. Pane management
https://projects.100xdevs.com/pdf/senior/se-1 8/10
7/8/24, 11:58 PM DailyCode
8. Window management
2. complex functions
export NVM_DIR="/Users/harkiratsingh/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
export PATH="$PATH:/Users/harkiratsingh/nvim-macos/bin"
alias gc=git commit -m
alias gh git push origin HEAD
alias gs='git status'
alias gaa='git add --all'
alias gd='git diff'
alias t=tmux
https://projects.100xdevs.com/pdf/senior/se-1 9/10
7/8/24, 11:58 PM DailyCode
function hg() {
history | grep "$1";
}
https://projects.100xdevs.com/pdf/senior/se-1 10/10