Basic configs for tmux and vim
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
./configure.sh
# Cross check: https://github.com/nvm-sh/nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
mkdir ~/.vim/backup/
mkdir ~/.vim/swp/
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim
:PluginInstall
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
nvim
:PlugInstall
If you want to use nvim in favor of vim permanently, add alias vim="nvim" to bash/zshrc profile.
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
tmux source ~/.tmux.conf
tmux
Install plugins
prefix + I
Colorized short git logs
git history -n 5
git config --global alias.history "log --pretty='%C(yellow)%H %C(cyan)%ad %C(green)%aN%C(auto)%d %Creset%s' --date=relative --date-order --graph"
Configure global git ignore
mkdir ~/.config/git && touch ~/.config/git/ignore
Example values
.aider.chat.history.md
.aider.input.history
.aider.tags.cache.v4
.DS_Store
Single command squash to main
git config --global alias.squash-to-main '!f() {
set -e;
FEATURE_BRANCH=$(git branch --show-current);
git add -A && \
(git diff --cached --quiet || git commit -m "${1:-Save work before squash merge}") && \
git checkout main && \
git pull --ff-only origin main && \
git merge --squash -X theirs "$FEATURE_BRANCH" && \
git commit -m "${1}" && \
git push origin main && \
git branch -D "$FEATURE_BRANCH"
}; f'
git config --global commit.gpgsign true
git config --global user.signingkey ${YOUR_KEY}
ag supports an .aignore file where we can specify directories/files to ignore
in the same format as a .gitignore. Create it at ~/.aignore for universal usage.
On iOS, under Preferences > Profiles > Keps, map Option to Esc+ to fix quick pane resizing.