# wezterm_config
**Repository Path**: BruceMaa/wezterm_config
## Basic Information
- **Project Name**: wezterm_config
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-03-21
- **Last Updated**: 2025-03-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
My WezTerm Config

---
### Features
- [**Background Image Selector**](https://github.com/KevinSilvester/wezterm-config/blob/master/utils/backdrops.lua)
- Cycle images
- Fuzzy search for image
- Toggle background image
> See: [key bindings](#background-images) for usage
- [**GPU Adapter Selector**](https://github.com/KevinSilvester/wezterm-config/blob/master/utils/gpu_adapter.lua)
> :bulb: Only works if the [`front_end`](https://github.com/KevinSilvester/wezterm-config/blob/master/config/appearance.lua#L8) option is set to `WebGpu`.
A small utility to select the best GPU + Adapter (graphics API) combo for your machine.
GPU + Adapter combo is selected based on the following criteria:
1.
Best GPU available
`Discrete` > `Integrated` > `Other` (for `wgpu`'s OpenGl implementation on Discrete GPU) > `Cpu`
2.
Best graphics API available (based off my very scientific scroll a big log file in Neovim test 😁)
> :bulb:
> The available graphics API choices change based on your OS.
> These options correspond to the APIs the `wgpu` crate (which powers WezTerm's gui in `WebGpu` mode)
> currently has support implemented for.
> See: for more info
- Windows: `Dx12` > `Vulkan` > `OpenGl`
- Linux: `Vulkan` > `OpenGl`
- Mac: `Metal`
---
### Getting Started
- ##### Requirements:
-
WezTerm
Minimum Version: `20240127-113634-bbcac864`
Recommended Version: [`Nightly`](https://github.com/wez/wezterm/releases/nightly)
[Official Installation Page](https://wezfurlong.org/wezterm/installation.html)
**Windows**
-
Install Stable
- Install with Scoop (non-portable)
```sh
scoop bucket add extras
scoop install wezterm
```
- Install with Scoop (portable)
```sh
scoop bucket add k https://github.com/KevinSilvester/scoop-bucket
scoop install k/wezterm
```
- Install with winget
```sh
winget install wez.wezterm
```
- Install with choco
```sh
choco install wezterm -y
```
-
Install Nightly
- Install with Scoop (non-portable)
```sh
scoop bucket add versions
scoop install wezterm-nightly
```
- Install with Scoop (portable)
```sh
scoop bucket add k https://github.com/KevinSilvester/scoop-bucket
scoop install k/wezterm-nightly
```
> :bulb:
> Toast notifications don't work in non-portable installations.
> See issue for more details
---
**MacOS**
-
Install Stable
- Install with Homebrew
```sh
brew install --cask wezterm
```
- Install with MacPort
```sh
sudo port selfupdate
sudo port install wezterm
```
-
Install Nighlty
- Install with Homebrew
```sh
brew install --cask wezterm@nightly
```
- Upgrade with Homebrew
```sh
brew install --cask wezterm@nightly --no-quarantine --greedy-latest
```
---
**Linux**
Refer to the Linux installation page.
-
JetBrainsMono Nerd Font
Install with Homebrew (Macos)
```sh
brew tap homebrew/cask-fonts
brew install font-jetbrains-mono-nerd-font
```
Install with Scoop (Windows)
```sh
scoop bucket add nerd-fonts
scoop install JetBrainsMono-NF
```
> More Info:
>
> -
> -
- ##### Steps:
1. ```sh
# On Windows and Unix systems
git clone https://github.com/KevinSilvester/wezterm-config.git ~/.config/wezterm
```
2. And Done!!! 🎉🎉
- ##### Things You Might Want to Change:
- [./config/domains.lua](./config/domains.lua) for custom SSH/WSL domains
- [./config/launch.lua](./config/launch.lua) for preferred shells and its paths
---
### All Key Bindings
Most of the key bindings revolve around a SUPER and SUPER_REV(super reversed) keys.
- On MacOs:
- SUPER ⇨ Super
- SUPER_REV ⇨ Super+Ctrl
- On Windows and Linux
- SUPER ⇨ Alt
- SUPER_REV ⇨ Alt+Ctrl
> To avoid confusion when switching between different OS and to avoid conflicting
> with OS's built-in keyboard shortcuts.
- On all platforms: LEADER ⇨ SUPER_REV+Space
#### Miscellaneous/Useful
| Keys | Action |
| --------------------------------- | ------------------------------------------- |
| F1 | `ActivateCopyMode` |
| F2 | `ActivateCommandPalette` |
| F3 | `ShowLauncher` |
| F4 | `ShowLauncher` (tabs only) |
| F5 | `ShowLauncher` (workspaces only) |
| F11 | `ToggleFullScreen` |
| F12 | `ShowDebugOverlay` |
| SUPER+f | Search Text |
| SUPER_REV+u | Open URL |
#### Copy+Paste
| Keys | Action |
| --------------------------------------------- | -------------------- |
| Ctrl+Shift+c | Copy to Clipboard |
| Ctrl+Shift+v | Paste from Clipboard |
#### Cursor Movements
| Keys | Action |
| -------------------------------------- | ---------------------------------------------------------- |
| SUPER+LeftArrow | Move cursor to Line Start |
| SUPER+RightArrow | Move cursor to Line End |
| SUPER+Backspace | Clear Line (does not work in PowerShell or cmd) |
#### Tabs
##### Tabs: Spawn+Close
| Keys | Action |
| --------------------------------- | ------------------------------------- |
| SUPER+t | `SpawnTab` (DefaultDomain) |
| SUPER_REV+f | `SpawnTab` (WSL:Ubuntu) |
| SUPER_REV+w | `CloseCurrentTab` |
##### Tabs: Navigation
| Keys | Action |
| --------------------------------- | -------------- |
| SUPER+[ | Next Tab |
| SUPER+] | Previous Tab |
| SUPER_REV+[ | Move Tab Left |
| SUPER_REV+] | Move Tab Right |
##### Tabs: Title
| Keys | Action |
| ----------------------------- | -------------- |
| SUPER+9 | Toggle tab bar |
##### Tabs: Toggle Tab-bar
| Keys | Action |
| --------------------------------- | ------------------ |
| SUPER+0 | Rename Current Tab |
| SUPER_REV+0 | Undo Rename |
#### Windows
| Keys | Action |
| ----------------------------- | -------------------- |
| SUPER+n | `SpawnWindow` |
| SUPER+= | Increase Window Size |
| SUPER+- | Decrease Window Size |
#### Panes
##### Panes: Split Panes
| Keys | Action |
| ---------------------------------- | ------------------------------------------------ |
| SUPER+\\ | `SplitVertical` (CurrentPaneDomain) |
| SUPER_REV+\\ | `SplitHorizontal` (CurrentPaneDomain) |
##### Panes: Zoom+Close Pane
| Keys | Action |
| --------------------------------- | --------------------- |
| SUPER+Enter | `TogglePaneZoomState` |
| SUPER+w | `CloseCurrentPane` |
##### Panes: Navigation
| Keys | Action |
| --------------------------------- | ----------------------- |
| SUPER_REV+k | Move to Pane (Up) |
| SUPER_REV+j | Move to Pane (Down) |
| SUPER_REV+h | Move to Pane (Left) |
| SUPER_REV+l | Move to Pane (Right) |
| SUPER_REV+p | Swap with selected Pane |
##### Panes: Scroll Pane
| Keys | Action |
| ----------------------------- | ------------------------------------ |
| SUPER+u | Scroll Lines up 5 lines |
| SUPER+d | Scroll Lines down 5 lines |
| PageUp | Scroll Page up |
| PageDown | Scroll Page down |
#### Background Images
| Keys | Action |
| --------------------------------- | ---------------------------- |
| SUPER+/ | Select Random Image |
| SUPER+, | Cycle to next Image |
| SUPER+. | Cycle to previous Image |
| SUPER_REV+/ | Fuzzy select Image |
| SUPER+b | Toggle background focus mode |
#### Key Tables
> See:
| Keys | Action |
| ------------------------------ | ------------- |
| LEADER+f | `resize_font` |
| LEADER+p | `resize_pane` |
##### Key Table: `resize_font`
| Keys | Action |
| -------------- | ------------------------------- |
| k | `IncreaseFontSize` |
| j | `DecreaseFontSize` |
| r | `ResetFontSize` |
| q | `PopKeyTable` (exit) |
| Esc | `PopKeyTable` (exit) |
##### Key Table: `resize_pane`
| Keys | Action |
| -------------- | ---------------------------------------------- |
| k | `AdjustPaneSize` (Direction: Up) |
| j | `AdjustPaneSize` (Direction: Down) |
| h | `AdjustPaneSize` (Direction: Left) |
| l | `AdjustPaneSize` (Direction: Right) |
| q | `PopKeyTable` (exit) |
| Esc | `PopKeyTable` (exit) |
---
### References/Inspirations
-
-
-
-