Zsh · Tmux · Vim&Neovim
- Manage shell, terminal, editor, and app configuration in one repo.
- Primarily for macOS, with partial Linux support.
- Includes:
- Zsh configuration
- Tmux configuration
- Vim configuration
- Neovim configuration based on LazyVim
- Ghostty configuration
- Install and uninstall scripts
- Install scripts under
scripts/and shared app install lists underapps/
Note: the Neovim configuration under
configs/vi/nvimis no longer actively maintained in this repository.
- Active:
configs/zsh,configs/tmux,configs/vi/vim,configs/ghostty,apps/,scripts/,scripts/install.sh,scripts/uninstall.sh - Frozen:
configs/vi/nvim(submodule)
.
├── backups
├── apps // shared app install lists
├── scripts // script implementations and shared shell libs
├── LICENSE
├── README.md
└── configs // tmux, vim, neovim, zsh, ghostty configuration
git clone --depth=1 https://github.com/leisurelicht/.licht-config.git
cd .licht-config
git submodule update --init --recursive
# start TUI launcher (recommended)
./launcher.sh
# or run scripts directly
./scripts/install.sh --conf zsh
./scripts/install.sh --apps brew allgit clone --depth=1 https://github.com/leisurelicht/.licht-config.git
cd .licht-config
git submodule update --init --recursive./launcher.shThe launcher provides a guided TUI flow:
- choose
InstallorUninstall - choose scope (
All,Apps only,Config only) - select components step by step
- preview commands before execution
-
install
./scripts/install.sh --conf zsh
- change terminal font to Hack Nerd Font
- if you're using iTerm2, you can refer to the following configuration.
-
uninstall
./scripts/uninstall.sh --conf zsh
└── configs/zsh
├── aliasrc // command aliasrc
├── export_env // environment
├── fzf.zsh // fzf configuration file
├── p10k.zsh // p10k configuration file
└── zshrc // zsh configuration file
-
install
- run install script
./scripts/install.sh --conf tmux
- run tmux and install tmux plugins
tmux <C-b>I
- only install mini tmux config
curl -o ~/.tmux.conf https://raw.githubusercontent.com/leisurelicht/.licht-config/master/configs/tmux/mini.conf -
uninstall
./scripts/uninstall.sh --conf tmux
configs/tmux
├── mini.conf // minimal tmux configuration
└── tmux.conf // main tmux configuration
- C = Ctrl = Control
- pk = Prefix Key = <Ctrl-b>
| * | key | description |
|---|---|---|
| --> | session | |
| pk-d | detach the current client | |
| pk-w | choose a window from a list | |
| pk-r | reload tmux configuration | |
| pk-I | install tmux plugins | |
| pk-i | display window info | |
| --> | window | |
| C-d | quit but not close client | |
| pk-c | create a new window | |
| pk-& | kill the current window | |
| pk-n | select the next window | |
| pk-p | select the previous window | |
| pk-f | search for a pane | |
| pk-number | select a window based on a number | |
| pk-' | select a window based on a number | |
| pk-, | rename the current window | |
| pk-> | scroll preview left | |
| pk-< | scroll preview right | |
| --> | pane | |
| C-d | close the current pane | |
| pk-x | kill the active pane | |
| pk-\ | create a pane horizontally | |
| pk-% | create a pane horizontally | |
| pk-| | create a pane horizontally on the far right | |
| pk-" | create a pane vertically | |
| pk-- | create a pane vertically | |
| pk-_ | create a pane vertically on the very bottom | |
| pk-; | move to the previously active pane | |
| pk-q | show the number for each pane | |
| pk-z | zoom the active pane | |
| pk-h | move the cursor to the left pane | |
| pk-l | move the cursor to the right pane | |
| pk-j | move the cursor to the below pane | |
| pk-k | move the cursor to the above pane | |
| pk-H | resize the current pane left by 5 | |
| pk-L | resize the current pane right by 5 | |
| pk-J | resize the current pane down by 5 | |
| pk-K | resize the current pane up by 5 | |
| pk-! | move the current pane to a new window | |
| pk-o | move to the next pane in the current window | |
| pk-{ | swap the active pane with the pane above | |
| pk-} | swap the active pane with the pane below | |
| pk-Alt+o | rotate through the panes in reverse | |
| pk-Ctrl+o | rotate through the panes in clockwise | |
| --> | Other | |
| pk-t | show time in full screen |
Note:
configs/vi/nvimis kept for existing setups, but it is no longer actively updated in this repository.
-
install
- install full version
./scripts/install.sh [vim/neovim]
- only install mini vim
curl -o ~/.vimrc https://raw.githubusercontent.com/leisurelicht/.licht-config/master/configs/vi/vim/mini -
uninstall
./scripts/uninstall.sh [vim/neovim]
-
ghostty
./scripts/install.sh --conf ghostty ./scripts/uninstall.sh --conf ghostty
configs/vi
├── nvim
│ ├── ftplugin
│ ├── init.lua
│ ├── lazy-lock.json
│ ├── lua
│ └── plugin
└── vim
├── autoload
├── config
├── custom
├── extends
├── mini
└── vimrc
./scripts/brew.sh
./scripts/for_claude.sh
# shared sources of install lists
./apps/brew_lists.sh
./apps/for_claude_lists.sh
./scripts/check.sh
