https://github.com/kianmeng/dotfiles
dotfiles for bash, tmux, vim, and etc.
https://github.com/kianmeng/dotfiles
bash dotfiles git tmux vim
Last synced: 22 days 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 (about 15 years ago)
- Default Branch: master
- Last Pushed: 2025-04-14T07:10:44.000Z (7 months ago)
- Last Synced: 2025-04-14T15:14:14.777Z (7 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 typos-cli dua-cli
```
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 git@github.com: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