https://github.com/kianmeng/dotfiles
dotfiles for bash, tmux, vim, and etc.
https://github.com/kianmeng/dotfiles
bash dotfiles git tmux vim
Last synced: 2 months ago
JSON representation
dotfiles for bash, tmux, vim, and etc.
- Host: GitHub
- URL: https://github.com/kianmeng/dotfiles
- Owner: kianmeng
- Created: 2010-09-11T07:17:27.000Z (almost 15 years ago)
- Default Branch: master
- Last Pushed: 2025-04-14T07:10:44.000Z (2 months ago)
- Last Synced: 2025-04-14T15:14:14.777Z (2 months ago)
- Topics: bash, dotfiles, git, tmux, vim
- Language: Shell
- Homepage:
- Size: 396 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# There is no place like $HOME
A collection of configuration files for the typical console programs bash, vim,
screen, tmux, and misc.Dotfiles management through Git following this [blog
post](https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/)
and [HN post](https://news.ycombinator.com/item?id=11070797).## Installation
Install essential console tools:
```bash
sudo apt install git tmux curl vim autojump apt-file inotify-tools \
aria2 ripgrep pgcli fswatch fzf shellcheck hub hyperfine flatpak \
python-is-python3 gcc automake autoconf pipx gettext htop httpie \
nala
```Only if Rust and Cargo are available:
```bash
cargo install hgrep
```Install essential graphical tools:
```bash
sudo apt install gitk gedit chromium-chromedriver epiphany-browser \
chromium-browser gnome-shell-extensions \
gnome-browser-connector gnome-shell-extension-manager meld
```Setup the alias:
```bash
alias hgit='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
```Clone the repository:
```bash
hgit clone --bare [email protected]:kianmeng/dotfiles.git $HOME/.cfg
```Backup all your existing dotfiles, if any (not needed for fresh install):
```bash
mkdir -p .config-backup && \
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | \
xargs -I{} mv {} .config-backup/{}
```Pull all dotfiles:
```bash
hgit checkout
```Reload Bash and install all the necessary packages:
```bash
source ~/.bashrc
```To manage these dot files, just use the `hgit` alias which is a wrapper to
`git`.## Vim's Key Bindings
- ``, leader key
- `jj`, exit from insert mode into normal mode
- `p`, toggle between paste mode and normal mode## Tmux's Key Bindings
- ``, prefix key alt + space
- `j`, switch to left tab
- `k`, switch to right tab
- `o`, create new tab
- `pgup`, scroll previous page