update references
Authored by
mfwolffe <wolffemf@dukes.jmu.edu>
- SHA
0e6c86cee347317e033c1e6504e0bcd9faec9a95- Parents
-
2266625 - Tree
395fbca
0e6c86c
0e6c86cee347317e033c1e6504e0bcd9faec9a952266625
395fbca| Status | File | + | - |
|---|---|---|---|
| M |
notes/hyprland.md
|
120 | 91 |
| M |
notes/micro.md
|
94 | 55 |
| M |
notes/neovim.md
|
128 | 71 |
| A |
notes/ranger.md
|
75 | 0 |
| M |
notes/tmux.md
|
42 | 7 |
| A |
notes/waybar.md
|
69 | 0 |
notes/hyprland.mdmodified@@ -1,96 +1,125 @@ | |||
| 1 | -# Hyprland Keybind & Workspace Summary | 1 | +# Hyprland Configuration Reference |
| 2 | 2 | ||
| 3 | -## Core Applications | 3 | +Quick reference for current Hyprland keybinds, workspaces, and workflows. |
| 4 | -| Keybind | Action | | 4 | + |
| 5 | -|------------------------|-------------------------------------------| | 5 | +## Core Applications & Launchers |
| 6 | -| $mainMod + RETURN | Launch terminal (Alacritty) | | 6 | + |
| 7 | -| $mainMod + E | Launch file manager (Dolphin) | | 7 | +| Keybind | Action | |
| 8 | -| $mainMod + SPACE | Launch app launcher (Wofi) | | 8 | +|---------|--------| |
| 9 | -| $mainMod + SHIFT + M | Exit Hyprland (terminate user session) | | 9 | +| `$mainMod + RETURN` | Terminal (standard) | |
| 10 | +| `$mainMod + SHIFT + RETURN` | Terminal with tmux:main session | | ||
| 11 | +| `$mainMod + SPACE` | App launcher (wofi) | | ||
| 12 | +| `$mainMod + E` | File manager | | ||
| 13 | +| `$mainMod + C` | New VSCode window | | ||
| 14 | +| `$mainMod + J` | JetBrains app picker | | ||
| 15 | +| `$mainMod + SHIFT + V` | Clipboard manager | | ||
| 16 | +| `$mainMod + SHIFT + M` | Exit Hyprland | | ||
| 10 | 17 | ||
| 11 | ## Window Management | 18 | ## Window Management |
| 12 | -| Keybind | Action | | 19 | + |
| 13 | -|------------------------|-------------------------------------------| | 20 | +| Keybind | Action | |
| 14 | -| $mainMod + Q | Close window | | 21 | +|---------|--------| |
| 15 | -| $mainMod + Y | Pin window (all workspaces) | | 22 | +| `$mainMod + Q` | Close window | |
| 16 | -| $mainMod + F | Toggle fullscreen | | 23 | +| `$mainMod + Y` | Pin window (all workspaces) | |
| 17 | -| $mainMod + J | Toggle split mode (dwindle) | | 24 | +| `$mainMod + F` | Toggle fullscreen | |
| 18 | -| $mainMod + V | Toggle float/tile | | 25 | +| `$mainMod + V` | Toggle float/tile | |
| 19 | -| $mainMod + LMB drag | Move window | | 26 | +| `$mainMod + /` | Toggle split mode | |
| 20 | -| $mainMod + RMB drag | Resize window | | 27 | +| `$mainMod + K` | Toggle group mode | |
| 21 | - | 28 | +| `$mainMod + Tab` | Next window in group | |
| 22 | -### Moving Windows & Focus | 29 | +| `$mainMod + X` | Toggle flow (disable animations) | |
| 23 | -| Keybind | Action | | 30 | +| `$mainMod + LMB drag` | Move window | |
| 24 | -|-------------------------------|----------------------------| | 31 | +| `$mainMod + RMB drag` | Resize window | |
| 25 | -| $mainMod + Arrow Keys | Move focus | | 32 | + |
| 26 | -| $mainMod + SHIFT + Arrow Keys | Move window | | 33 | +## Layouts & Gaps |
| 27 | - | 34 | + |
| 28 | -### Resizing | 35 | +| Keybind | Action | |
| 29 | -| Keybind | Action | | 36 | +|---------|--------| |
| 30 | -|----------------------------------------|-----------------------| | 37 | +| `$mainMod + F10` | Master layout | |
| 31 | -| $mainMod + R | Enter resize mode | | 38 | +| `$mainMod + F11` | Dwindle layout | |
| 32 | -| h / j / k / l, Arrows (resize mode) | Resize | | 39 | +| `$mainMod + G` | Remove gaps | |
| 33 | -| Esc | Exit resize mode | | 40 | +| `$mainMod + SHIFT + G` | Reset gaps (5/3) | |
| 34 | -| $mainMod + CTRL + Arrows | Resize (small) | | 41 | + |
| 35 | -| $mainMod + CTRL + SHIFT + Arrows | Resize (medium) | | 42 | +## Focus & Movement |
| 36 | -| $mainMod + ALT + CTRL (+ SHIFT) Arrows | Resize (large) | | 43 | + |
| 37 | - | 44 | +| Keybind | Action | |
| 38 | -## Workspaces | 45 | +|---------|--------| |
| 39 | -| Keybind | Action | | 46 | +| `$mainMod + Arrow Keys` | Move focus | |
| 40 | -|------------------------|-------------------------------------------| | 47 | +| `$mainMod + SHIFT + Arrow Keys` | Move window | |
| 41 | -| $mainMod + [1–0] | Switch to workspace | | 48 | + |
| 42 | -| $mainMod + CTRL + [1–0]| Move window & switch to workspace | | 49 | +## Resizing (Multi-tier) |
| 43 | -| $mainMod + SHIFT + [1–0]| Move window silently to workspace | | 50 | + |
| 44 | -| $mainMod + COMMA | Previous workspace | | 51 | +**Resize Mode:** |
| 45 | -| $mainMod + PERIOD | Next workspace | | 52 | +- `$mainMod + R` → Enter resize mode |
| 46 | -| $mainMod + Slash | Switch to previous workspace | | 53 | +- Arrow keys or `h/j/k/l` to resize |
| 47 | -| $mainMod + mouse scroll| Cycle workspaces | | 54 | +- `Esc` to exit |
| 48 | - | 55 | + |
| 49 | -### Special Workspaces (Scratchpads) | 56 | +**Quick Resize:** |
| 50 | -| Keybind | Action | | 57 | +- `$mainMod + CTRL + Arrows` → Small resize (25px) |
| 51 | -|------------------------|-------------------------------------------| | 58 | +- `$mainMod + CTRL + SHIFT + Arrows` → Medium resize (55px) |
| 52 | -| $mainMod + Z | Zen Browser | | 59 | +- `$mainMod + ALT + CTRL + Arrows` → Large resize (85px) |
| 53 | -| $mainMod + T | Terminal (Ghostty) | | 60 | +- `$mainMod + ALT + CTRL + SHIFT + Arrows` → XL resize (115px) |
| 54 | -| $mainMod + D | Discord | | 61 | + |
| 55 | -| $mainMod + A | Audacity | | 62 | +## Workspaces (1-10) |
| 56 | -| $mainMod + O | TickTick | | 63 | + |
| 57 | -| $mainMod + B | Bitwarden | | 64 | +**Primary Monitor (DP-1):** Workspaces 1-5 |
| 58 | -| $mainMod + M | Spotify | | 65 | +**Secondary Monitor (HDMI-A-1):** Workspaces 6-10 |
| 59 | -| $mainMod + Minus | Toggle default scratchpad | | 66 | + |
| 60 | -| $mainMod + SHIFT+Minus | Send window to scratchpad | | 67 | +| Keybind | Action | |
| 61 | - | 68 | +|---------|--------| |
| 62 | -*(Auto-launch rules: REAPER → ws9, LibreWolf → ws10. Scratchpads launch respective apps if empty.)* | 69 | +| `$mainMod + [1-0]` | Switch workspace | |
| 70 | +| `$mainMod + CTRL + [1-0]` | Move window & switch | | ||
| 71 | +| `$mainMod + SHIFT + [1-0]` | Move window silently | | ||
| 72 | +| `$mainMod + ,/.` | Previous/next workspace | | ||
| 73 | +| `$mainMod + mouse scroll` | Cycle workspaces | | ||
| 74 | + | ||
| 75 | +## Special Workspaces (Scratchpads) | ||
| 76 | + | ||
| 77 | +| Keybind | App | Auto-launch | | ||
| 78 | +|---------|-----|--------------| | ||
| 79 | +| `$mainMod + Z` | Zen Browser | ✓ | | ||
| 80 | +| `$mainMod + T` | Terminal (Ghostty) | ✓ | | ||
| 81 | +| `$mainMod + H` | Guides | - | | ||
| 82 | +| `$mainMod + D` | Discord | ✓ | | ||
| 83 | +| `$mainMod + A` | Audacity | ✓ | | ||
| 84 | +| `$mainMod + O` | TickTick | ✓ | | ||
| 85 | +| `$mainMod + B` | Bitwarden | ✓ | | ||
| 86 | +| `$mainMod + M` | Spotify | ✓ | | ||
| 87 | +| `$mainMod + N` | Notes viewer | tmux layout | | ||
| 88 | +| `$mainMod + -` | Default scratchpad | - | | ||
| 89 | +| `$mainMod + SHIFT + -` | Send to scratchpad | - | | ||
| 90 | + | ||
| 91 | +## Auto-Workspace Rules | ||
| 92 | + | ||
| 93 | +- **Workspace 9:** REAPER (auto-launch on create) | ||
| 94 | +- **Workspace 10:** LibreWolf (auto-launch on create) | ||
| 63 | 95 | ||
| 64 | ## Media & System | 96 | ## Media & System |
| 65 | -| Keybind | Action | | 97 | + |
| 66 | -|------------------------|-------------------------------------------| | 98 | +| Keybind | Action | |
| 67 | -| XF86AudioRaiseVolume | Volume up (+5%) | | 99 | +|---------|--------| |
| 68 | -| XF86AudioLowerVolume | Volume down (–5%) | | 100 | +| `Print` | Screenshot region | |
| 69 | -| XF86AudioMute | Toggle mute | | 101 | +| `ALT + Print` | Screenshot screen | |
| 70 | -| XF86AudioPlay | Play/pause | | 102 | +| `CTRL + Print` | Screenshot window | |
| 71 | -| XF86AudioNext | Next track | | 103 | +| `XF86Audio*` | Media controls (volume, play/pause) | |
| 72 | -| XF86AudioPrev | Previous track | | 104 | +| `XF86MonBrightness*` | Brightness ±5% | |
| 73 | -| XF86MonBrightnessUp | Increase brightness (+5%) | | 105 | +| `$mainMod + L` | Lock screen | |
| 74 | -| XF86MonBrightnessDown | Decrease brightness (–5%) | | 106 | +| `$mainMod + W` | Reload Waybar | |
| 75 | - | 107 | +| `$mainMod + SHIFT + M` | Exit Hyprland | |
| 76 | -## Utilities | 108 | + |
| 77 | -| Keybind | Action | | 109 | +## Custom Scenes |
| 78 | -|------------------------|-------------------------------------------| | 110 | + |
| 79 | -| $mainMod + L | Lock screen (swaylock-fancy) | | 111 | +| Keybind | Action | |
| 80 | -| $mainMod + W | Reload Waybar | | 112 | +|---------|--------| |
| 81 | -| Print | Screenshot (area) | | 113 | +| `$mainMod + ALT + 1/2` | Toggle scene 1/2 | |
| 82 | -| Alt + Print | Screenshot (screen) | | 114 | + |
| 83 | -| Ctrl + Print | Screenshot (window) | | 115 | +## Monitor Setup |
| 84 | - | 116 | + |
| 85 | ---- | 117 | +- **Primary (DP-1):** 3840×2160, workspaces 1-5 |
| 86 | - | 118 | +- **Secondary (HDMI-A-1):** 2560×1440, workspaces 6-10 |
| 87 | -## Environment & Rules | 119 | + |
| 88 | -- Animations: windows, workspaces, borders use slide/overshot effects | 120 | +## Window Rules Summary |
| 89 | -- Window Rules: | 121 | + |
| 90 | - - REAPER → workspace 9 | 122 | +- **Floating:** PiP, dialogs, system tools |
| 91 | - - LibreWolf → workspace 10 | 123 | +- **Opacity:** File managers (92%), Discord (96%) |
| 92 | - - Scratchpads auto-launch (Discord, Spotify, Zen, etc.) | 124 | +- **Auto-blur disabled:** Firefox |
| 93 | -- Monitors: | 125 | +- **Smart gaps:** Different for tiled vs floating windows |
| 94 | - - DP-1 → 3840×2160 (primary) | ||
| 95 | - - HDMI-A-1 → 2560×1440 (secondary) | ||
| 96 | -- Autostart: Waybar, swaybg, fcitx5, mako, nm-applet, polkit, idle handler | ||
notes/micro.mdmodified@@ -1,80 +1,119 @@ | |||
| 1 | -# Micro — keys & workflow (fish + plugins) | 1 | +# Micro Editor Configuration Reference |
| 2 | 2 | ||
| 3 | ---- | 3 | +Current keybinds, plugins, and workflow for the micro editor setup. |
| 4 | 4 | ||
| 5 | -## Core (built-in) | 5 | +## Core Keybinds |
| 6 | -- **Ctrl-E** — Command bar. Run `help …`, `plugin list`, `open`, `fzfinder`, `log`, etc. | ||
| 7 | -- **Ctrl-S** — Save. **Ctrl-Q** — Close current buffer (quit if last). **Ctrl-O** — Open file (fallback; you’ll usually use **Alt-f**). | ||
| 8 | 6 | ||
| 9 | ---- | 7 | +| Keybind | Action | |
| 8 | +|---------|--------| | ||
| 9 | +| `Ctrl-E` | Command bar (`help`, `plugin list`, `open`, etc.) | | ||
| 10 | +| `Ctrl-S` | Save file | | ||
| 11 | +| `Ctrl-Q` | Close buffer/quit | | ||
| 12 | +| `Ctrl-O` | Open file (fallback) | | ||
| 10 | 13 | ||
| 11 | -## fzfinder (fast file open) | 14 | +## File Management |
| 12 | -**Open:** **Alt-f** | ||
| 13 | -**What it does:** Fuzzy-find files using our git-aware wrapper (`mfzf`). In repos it lists `git ls-files`; otherwise it uses `fd`. Preview shows with `bat`. Opens in a **new tab**. | ||
| 14 | 15 | ||
| 15 | -**Inside the picker (fzf):** | 16 | +**FZF File Finder:** |
| 16 | -- Type to filter; **↑/↓** or **Ctrl-j/Ctrl-k** to move | 17 | +| Keybind | Action | |
| 17 | -- **Enter** open selection **Tab / Shift-Tab** multi-select (if enabled) | 18 | +|---------|--------| |
| 18 | -- Our options: `--height=85% --layout=reverse [--multi] --preview 'bat -f -p {}'` | 19 | +| `Alt-f` | Fuzzy file finder (mfzf) | |
| 19 | 20 | ||
| 20 | -**Tweakable:** | 21 | +**Current settings:** |
| 21 | -- `settings.json` → `fzfarg`, `fzfopen` (`newtab` or `open`), `fzfpath` (`relative` or `absolute`). | 22 | +- Uses custom `mfzf` wrapper (git-aware) |
| 22 | -- Edit `/usr/local/bin/mfzf` to ignore heavy dirs (`node_modules`, `dist`, `target`, …). | 23 | +- Preview with `bat -f -p {}` |
| 24 | +- Opens in new tab | ||
| 25 | +- Shows relative paths | ||
| 26 | +- External clipboard integration | ||
| 23 | 27 | ||
| 24 | ---- | 28 | +**Inside fzf:** |
| 29 | +- Type to filter, `↑/↓` or `Ctrl-j/k` to navigate | ||
| 30 | +- `Enter` to open, `Tab/Shift-Tab` for multi-select | ||
| 25 | 31 | ||
| 26 | -## Palettero (command palette) | 32 | +## Command Palette |
| 27 | -**Open:** **Ctrl-P** (also **Alt-Ctrl-Space**) | ||
| 28 | -**What it does:** Fuzzy-search *any* Micro/plug-in command (and text filters) and run it. Great for discovery. | ||
| 29 | 33 | ||
| 30 | -**Use:** Open → type (“jump”, “tree”, “help fzfinder”, “pipe jq .”, …) → **Enter**. | 34 | +| Keybind | Action | |
| 35 | +|---------|--------| | ||
| 36 | +| `Ctrl-P` | Command palette (palettero) | | ||
| 37 | +| `Ctrl-Space` | Command palette (alt binding) | | ||
| 31 | 38 | ||
| 32 | -**Pro tip:** add your favorite one-liners as palette items (JSON format via `editmenu`), e.g. JSON pretty, YAML⇄JSON, sort unique. | 39 | +**Usage:** |
| 40 | +- Fuzzy search any micro/plugin command | ||
| 41 | +- Type command names ("jump", "tree", "help", "pipe jq .") and run | ||
| 42 | +- Great for command discovery and one-liners | ||
| 33 | 43 | ||
| 34 | ---- | 44 | +## LSP Integration |
| 35 | 45 | ||
| 36 | -## Quickfix (project grep & jump) | 46 | +| Keybind | Action | |
| 37 | -**Search word under cursor:** **Alt-g** | 47 | +|---------|--------| |
| 38 | -**Prompted search:** **Ctrl-Alt-g** | 48 | +| `Alt-d` | Go to definition | |
| 39 | -**What it does:** Runs ripgrep (`rg -n`) and drops results into a quickfix list. Select a line → **Enter** jumps to file/line. | 49 | +| `Alt-k` | Show hover info | |
| 50 | +| `Alt-r` | Show references | | ||
| 40 | 51 | ||
| 41 | -**Flow:** Trigger search → use **↑/↓** to browse results → **Enter** to jump. Close the panel when done. | 52 | +*Note: Requires LSP servers installed and configured* |
| 42 | 53 | ||
| 43 | ---- | 54 | +## Build & Run System |
| 44 | 55 | ||
| 45 | -## runit (run/build) | 56 | +| Keybind | Action | |
| 46 | -**Run current file:** **F5** **Make:** **F12** **Make (background):** **F9** | 57 | +|---------|--------| |
| 47 | -**What it does:** Saves & runs the active file (language/shebang aware). In projects with a `Makefile`, use F12/F9 for builds. | 58 | +| `F5` | Run current file | |
| 59 | +| `F12` | Make (foreground) | | ||
| 60 | +| `F9` | Make (background) | | ||
| 48 | 61 | ||
| 49 | -**Tips:** | 62 | +**Features:** |
| 50 | -- For scripts, add a proper shebang (e.g., `#!/usr/bin/env python3`) so F5 “just works”. | 63 | +- Auto-detects file type/shebang |
| 51 | -- Use the command bar to run custom commands on demand if there’s no Makefile. | 64 | +- Makefile support for projects |
| 65 | +- Language-aware execution | ||
| 52 | 66 | ||
| 53 | ---- | 67 | +## File Tree |
| 54 | 68 | ||
| 55 | -## Filemanager (side tree) | 69 | +| Keybind | Action | |
| 56 | -**Toggle tree:** **Ctrl-b** | 70 | +|---------|--------| |
| 57 | -**What it does:** Opens/closes a file tree pane you can navigate with arrows and open with **Enter**. Handy for quick browsing. | 71 | +| `Ctrl-b` | Toggle file tree | |
| 58 | 72 | ||
| 59 | -**Tip:** Set `filemanager.openonstart = true` if you want it by default (add in `settings.json`). | 73 | +**Usage:** |
| 74 | +- Navigate with arrows, open with `Enter` | ||
| 75 | +- Add `"filemanager.openonstart": true` to auto-open | ||
| 60 | 76 | ||
| 61 | ---- | 77 | +## Code Navigation |
| 62 | 78 | ||
| 63 | -## Jump (symbols / headings) | 79 | +| Keybind | Action | |
| 64 | -**Open outline:** **F4** | 80 | +|---------|--------| |
| 65 | -**What it does:** Fuzzy-jump within the current buffer (functions, classes, Markdown headings, etc.). | 81 | +| `F4` | Jump to symbol/heading | |
| 66 | 82 | ||
| 67 | ---- | 83 | +**Features:** |
| 84 | +- Functions, classes, Markdown headings | ||
| 85 | +- Fuzzy search within current buffer | ||
| 68 | 86 | ||
| 69 | -## LSP (optional) | 87 | +## Comments |
| 70 | -**What it does:** Hover/definition/references/completion/formatting with language servers. | ||
| 71 | -**Typical defaults:** hover, go-to-definition, references, completion (check `help lsp` after installing servers). | ||
| 72 | 88 | ||
| 73 | ---- | 89 | +| Keybind | Action | |
| 90 | +|---------|--------| | ||
| 91 | +| `Alt-/` | Toggle comment | | ||
| 92 | +| `Ctrl-_` | Toggle comment (alt) | | ||
| 74 | 93 | ||
| 75 | -## Handy palette one-liners | 94 | +*Uses comment.lua plugin* |
| 76 | -Run these from **Ctrl-E** (or bind keys to them): | 95 | + |
| 77 | -- `pipe jq .` — pretty-print JSON | 96 | +## Plugin Configuration |
| 78 | -- `pipe yq -P` — pretty JSON→YAML (needs `yq`) | 97 | + |
| 79 | -- `pipe sort -u` — sort unique lines | 98 | +**Current plugins:** |
| 80 | -- `pipe sed -E 's/[[:space:]]+$//'` — strip trailing whitespace | 99 | +- **fzfinder** - Fuzzy file finding with mfzf |
| 100 | +- **palettero** - Command palette | ||
| 101 | +- **comment** - Smart commenting | ||
| 102 | +- **LSP integration** - Language server support | ||
| 103 | +- **runit** - File execution | ||
| 104 | +- **jumptag** - Symbol navigation | ||
| 105 | +- **makeup** - Build system | ||
| 106 | + | ||
| 107 | +**Useful Commands:** | ||
| 108 | +- `pipe jq .` - Pretty-print JSON | ||
| 109 | +- `pipe yq -P` - JSON→YAML conversion | ||
| 110 | +- `pipe sort -u` - Sort unique lines | ||
| 111 | +- `pipe sed -E 's/[[:space:]]+$//'` - Strip trailing whitespace | ||
| 112 | + | ||
| 113 | +## Settings Summary | ||
| 114 | + | ||
| 115 | +- External clipboard integration | ||
| 116 | +- Custom mfzf command for file finding | ||
| 117 | +- Bat preview integration | ||
| 118 | +- New tab opening for files | ||
| 119 | +- Relative path display | ||
notes/neovim.mdmodified@@ -1,6 +1,6 @@ | |||
| 1 | -# Neovim Modern Workflow & Plugin Guide | 1 | +# Neovim Configuration Reference |
| 2 | 2 | ||
| 3 | -This guide extends the default Neovim keybinds with **modern workflows** (LSP, Telescope, Treesitter, Git, terminals) for Neovim ≥ 0.8. Designed for productivity on Wayland/Hyprland with lazy.nvim config. | 3 | +Current keybinds and workflows for the lazy.nvim-based configuration. Optimized for LSP, Telescope, and productivity with Wayland clipboard support. |
| 4 | 4 | ||
| 5 | --- | 5 | --- |
| 6 | 6 | ||
@@ -56,113 +56,170 @@ This guide extends the default Neovim keybinds with **modern workflows** (LSP, T | |||
| 56 | 56 | ||
| 57 | --- | 57 | --- |
| 58 | 58 | ||
| 59 | -## Custom Workflow Keymaps (from lazy config) | 59 | +## Custom Workflow Keymaps (Current Config) |
| 60 | - | 60 | + |
| 61 | -| Keybind | Action | | 61 | +**Core Actions:** |
| 62 | -|-------------|-------------------------------------| | 62 | +| Keybind | Action | |
| 63 | -| `<C-s>` | Save (normal/insert/visual) | | 63 | +|---------|--------| |
| 64 | -| `<leader>q` | Quit | | 64 | +| `<C-s>` | Save (normal/insert/visual) | |
| 65 | -| `<leader>sv`| Vertical split | | 65 | +| `<leader>q` | Quit | |
| 66 | -| `<leader>sh`| Horizontal split | | 66 | +| `<Esc>` | Clear search highlights | |
| 67 | -| `<leader>to`| New tab | | 67 | + |
| 68 | -| `<leader>ff`| Telescope: find files | | 68 | +**Windows & Tabs:** |
| 69 | -| `<leader>fg`| Telescope: live grep | | 69 | +| Keybind | Action | |
| 70 | -| `<leader>fb`| Telescope: buffers | | 70 | +|---------|--------| |
| 71 | -| `<leader>fh`| Telescope: help tags | | 71 | +| `<leader>sv` | Vertical split | |
| 72 | -| `-` | Oil file manager float | | 72 | +| `<leader>sh` | Horizontal split | |
| 73 | -| `<C-`>` | Toggle floating terminal | | 73 | +| `<leader>to` | New tab | |
| 74 | -| `<leader>tr`| Run task (Overseer) | | 74 | + |
| 75 | -| `<leader>tt`| Task list toggle | | 75 | +**File Management:** |
| 76 | -| `<leader>f` | Format buffer/file (Conform) | | 76 | +| Keybind | Action | |
| 77 | +|---------|--------| | ||
| 78 | +| `<leader>ff` | Telescope: find files | | ||
| 79 | +| `<leader>fg` | Telescope: live grep | | ||
| 80 | +| `<leader>fb` | Telescope: buffers | | ||
| 81 | +| `<leader>fh` | Telescope: help tags | | ||
| 82 | +| `<leader>fp` | Projects picker | | ||
| 83 | +| `-` | Oil file manager (float) | | ||
| 84 | + | ||
| 85 | +**Terminal & Tasks:** | ||
| 86 | +| Keybind | Action | | ||
| 87 | +|---------|--------| | ||
| 88 | +| `<C-`>` | Toggle floating terminal | | ||
| 89 | +| `<leader>tr` | Run task (Overseer) | | ||
| 90 | +| `<leader>tt` | Task list toggle | | ||
| 91 | + | ||
| 92 | +**Formatting:** | ||
| 93 | +| Keybind | Action | | ||
| 94 | +|---------|--------| | ||
| 95 | +| `<leader>f` | Format buffer (Conform) | | ||
| 96 | + | ||
| 97 | +**Visual Mode:** | ||
| 98 | +| Keybind | Action | | ||
| 99 | +|---------|--------| | ||
| 100 | +| `J` | Move selected lines down | | ||
| 101 | +| `K` | Move selected lines up | | ||
| 77 | 102 | ||
| 78 | --- | 103 | --- |
| 79 | 104 | ||
| 80 | -## LSP Workflow (Language Server Protocol) | 105 | +## LSP Workflow |
| 81 | 106 | ||
| 82 | -Requires `mason.nvim` + `nvim-lspconfig`. | 107 | +**Auto-installed servers:** |
| 108 | +`pyright`, `lua_ls`, `clangd`, `rust_analyzer`, `bashls`, `jsonls`, `yamlls`, `html`, `cssls`, `marksman`, `taplo` | ||
| 83 | 109 | ||
| 84 | -| Keybind | Action | | 110 | +| Keybind | Action | |
| 85 | -|-------------|--------------------------------------| | 111 | +|---------|--------| |
| 86 | -| `gd` | Goto definition | | 112 | +| `gd` | Goto definition | |
| 87 | -| `gD` | Goto declaration | | 113 | +| `gD` | Goto declaration | |
| 88 | -| `gi` | Goto implementation | | 114 | +| `gi` | Goto implementation | |
| 89 | -| `gr` | List references | | 115 | +| `gr` | List references | |
| 90 | -| `K` | Hover docs | | 116 | +| `K` | Hover documentation | |
| 91 | -| `<leader>rn`| Rename symbol | | 117 | +| `<leader>rn` | Rename symbol | |
| 92 | -| `<leader>ca`| Code action | | 118 | +| `<leader>ca` | Code action | |
| 93 | -| `<leader>fd`| Format buffer (LSP/formatter) | | 119 | +| `<leader>fd` | Format buffer (LSP) | |
| 94 | 120 | ||
| 95 | --- | 121 | --- |
| 96 | 122 | ||
| 97 | ## Git Integration | 123 | ## Git Integration |
| 98 | 124 | ||
| 99 | -- **Gitsigns.nvim** | 125 | +**Gitsigns:** |
| 100 | - - Shows inline git diff signs, hunk navigation (`]c` / `[c`), staging hunks (`:Gitsigns stage_hunk`). | 126 | +- Inline diff signs in gutter |
| 127 | +- Hunk navigation and staging | ||
| 128 | +- `:Gitsigns stage_hunk`, `:Gitsigns blame_line` | ||
| 101 | 129 | ||
| 102 | -- **LazyGit.nvim** | 130 | +**LazyGit:** |
| 103 | - - `:LazyGit` launches interactive TUI for Git inside Neovim. | 131 | +- `:LazyGit` - Full-featured Git TUI |
| 104 | 132 | ||
| 105 | --- | 133 | --- |
| 106 | 134 | ||
| 107 | ## Telescope (Fuzzy Finder) | 135 | ## Telescope (Fuzzy Finder) |
| 108 | 136 | ||
| 109 | -- `<leader>ff` → Files | 137 | +| Keybind | Action | |
| 110 | -- `<leader>fg` → Live grep | 138 | +|---------|--------| |
| 111 | -- `<leader>fb` → Buffers | 139 | +| `<leader>ff` | Find files | |
| 112 | -- `<leader>fh` → Help tags | 140 | +| `<leader>fg` | Live grep | |
| 141 | +| `<leader>fb` | Buffers | | ||
| 142 | +| `<leader>fh` | Help tags | | ||
| 143 | +| `<leader>fp` | Projects | | ||
| 113 | 144 | ||
| 114 | -Extra: type `/` inside Telescope for fuzzy-in-list filtering. | 145 | +**Inside Telescope:** |
| 146 | +- `<C-j>/<C-k>` - Navigate results | ||
| 147 | +- `/` - Fuzzy filter in results | ||
| 115 | 148 | ||
| 116 | --- | 149 | --- |
| 117 | 150 | ||
| 118 | ## Treesitter (Syntax Engine) | 151 | ## Treesitter (Syntax Engine) |
| 119 | 152 | ||
| 120 | -- Auto-installs parsers for `bash`, `c/cpp`, `lua`, `python`, `rust`, `json`, `yaml`, `toml`, `html/css/js/ts`, `markdown`, `fish`, **fortran**. | 153 | +**Auto-installed parsers:** |
| 121 | -- Provides better highlighting + indenting. | 154 | +`bash`, `c`, `cpp`, `lua`, `python`, `rust`, `json`, `yaml`, `toml`, `html`, `css`, `javascript`, `typescript`, `markdown`, `markdown_inline`, `make`, `fish` |
| 155 | + | ||
| 156 | +- Provides enhanced highlighting and indenting | ||
| 157 | +- Smart text objects and navigation | ||
| 122 | 158 | ||
| 123 | --- | 159 | --- |
| 124 | 160 | ||
| 125 | ## Formatting (Conform.nvim) | 161 | ## Formatting (Conform.nvim) |
| 126 | 162 | ||
| 127 | -| Language | Formatter(s) | | 163 | +**Auto-format on save** (disabled for files >512KB) |
| 128 | -|--------------|--------------------------------------| | 164 | + |
| 129 | -| Lua | stylua | | 165 | +| Language | Formatter(s) | |
| 130 | -| Python | ruff_format, black | | 166 | +|----------|-------------| |
| 131 | -| Shell/Fish | shfmt, fish_indent | | 167 | +| Lua | stylua | |
| 132 | -| C/C++ | clang-format | | 168 | +| Python | ruff_format, black | |
| 133 | -| JS/TS/HTML | prettier | | 169 | +| Shell scripts | shfmt | |
| 134 | -| JSON/YAML | jq / prettier | | 170 | +| Fish | fish_indent | |
| 135 | -| TOML | taplo | | 171 | +| C/C++ | clang_format | |
| 136 | -| Markdown | prettier | | 172 | +| JS/TS | prettier | |
| 137 | -| Fortran | fprettify | | 173 | +| JSON | jq, prettier | |
| 174 | +| YAML | prettier | | ||
| 175 | +| TOML | taplo | | ||
| 176 | +| HTML/CSS | prettier | | ||
| 177 | +| Markdown | prettier | | ||
| 138 | 178 | ||
| 139 | --- | 179 | --- |
| 140 | 180 | ||
| 141 | ## Debugging (nvim-dap + dap-ui) | 181 | ## Debugging (nvim-dap + dap-ui) |
| 142 | 182 | ||
| 143 | -- `:DapToggleBreakpoint` → set/clear breakpoint | 183 | +**Basic DAP setup included:** |
| 144 | -- `:DapContinue` → run/start | 184 | +- `:DapToggleBreakpoint` - Set/clear breakpoint |
| 145 | -- `:DapStepOver` / `:DapStepInto` / `:DapStepOut` | 185 | +- `:DapContinue` - Run/start debugging |
| 146 | -- DAP UI auto-opens on session start. | 186 | +- `:DapStepOver/Into/Out` - Step through code |
| 187 | +- DAP UI auto-opens/closes with debug sessions | ||
| 147 | 188 | ||
| 148 | --- | 189 | --- |
| 149 | 190 | ||
| 150 | -## Bonus: Multi-Cursor | 191 | +## UI Enhancements |
| 151 | 192 | ||
| 152 | -- Native block selections: `Ctrl+v` + `I`/`A` | 193 | +**Current plugins:** |
| 153 | -- True multi-cursor: install **vim-visual-multi** | 194 | +- **TokyoNight theme** (night style) |
| 154 | - - `Ctrl+n` → add cursor to next occurrence | 195 | +- **Lualine** - Status line with global status |
| 155 | - - `Ctrl+p` → add cursor to prev | 196 | +- **Which-key** - Keybind hints |
| 156 | - - `Ctrl+x` → skip | 197 | +- **Dressing** - Better UI for inputs/selects |
| 198 | +- **Notify** - Pretty notifications | ||
| 199 | +- **Indent-blankline** - Indentation guides | ||
| 200 | +- **Comment.nvim** - Easy commenting | ||
| 201 | +- **nvim-surround** - Surround text objects | ||
| 157 | 202 | ||
| 158 | --- | 203 | --- |
| 159 | 204 | ||
| 160 | -## Quick Efficiency Tips | 205 | +## Configuration Highlights |
| 161 | -- Use `.` to repeat edits, `:noh` to clear highlights | 206 | + |
| 162 | -- Combine motions: `d2w` (delete 2 words), `c$` (change to end of line) | 207 | +**Leaders:** `<Space>` (main), `,` (local) |
| 163 | -- Use **Overseer** for project build/run/test integration | 208 | + |
| 164 | -- Map `-` (Oil) for directory browsing like a mini file manager | 209 | +**Auto-features:** |
| 165 | -- Use `<C-`>` as a popup shell without leaving Neovim | 210 | +- Format on save (files <512KB) |
| 166 | -- Keep `<leader>` easy (`<Space>` in this config) for speed | 211 | +- Cursor position restoration |
| 212 | +- Yank highlighting | ||
| 213 | +- Wayland clipboard integration | ||
| 214 | + | ||
| 215 | +**Project Management:** | ||
| 216 | +- Project detection via `.git`, `pyproject.toml`, `package.json`, `Makefile` | ||
| 217 | +- Overseer task runner integration | ||
| 218 | +- Oil file manager with hidden files shown | ||
| 219 | + | ||
| 220 | +**Performance:** | ||
| 221 | +- Removed noice.nvim for faster commands | ||
| 222 | +- Lazy loading for most plugins | ||
| 223 | +- Smart format-on-save size limits | ||
| 167 | 224 | ||
| 168 | --- | 225 | --- |
notes/ranger.mdadded@@ -0,0 +1,75 @@ | |||
| 1 | +# Ranger File Manager Reference | ||
| 2 | + | ||
| 3 | +Clean, fast ranger configuration focused on speed and stability. | ||
| 4 | + | ||
| 5 | +## View Configuration | ||
| 6 | + | ||
| 7 | +**Layout:** | ||
| 8 | +- Miller columns (1:3:4 ratio) | ||
| 9 | +- Hidden files filtered by default | ||
| 10 | +- Preview enabled for files and directories | ||
| 11 | +- Image preview via w3m | ||
| 12 | + | ||
| 13 | +**Display Features:** | ||
| 14 | +- File size in main column and status bar | ||
| 15 | +- Free space in status bar | ||
| 16 | +- Progress bar in status bar | ||
| 17 | +- Tags in all columns | ||
| 18 | +- Borders enabled | ||
| 19 | +- Mouse support enabled | ||
| 20 | + | ||
| 21 | +## Key Features | ||
| 22 | + | ||
| 23 | +**File Management:** | ||
| 24 | +- Automatic file counting | ||
| 25 | +- Multiple file delete confirmation | ||
| 26 | +- Open all images together | ||
| 27 | +- Console history saved | ||
| 28 | + | ||
| 29 | +**Preview System:** | ||
| 30 | +- Files and directories previewed | ||
| 31 | +- Images displayed (w3m method) | ||
| 32 | +- Collapsible preview | ||
| 33 | +- Custom preview scripts enabled | ||
| 34 | + | ||
| 35 | +**Performance:** | ||
| 36 | +- VCS awareness disabled for speed | ||
| 37 | +- Git backend disabled | ||
| 38 | +- Hidden file regex filtering | ||
| 39 | +- Status bar at bottom | ||
| 40 | + | ||
| 41 | +## Hidden Files Filter | ||
| 42 | + | ||
| 43 | +Files matching these patterns are hidden by default: | ||
| 44 | +- Dotfiles (`^\.`) | ||
| 45 | +- Python compiled files (`.pyc`, `.pyo`) | ||
| 46 | +- Backup files (`.bak`) | ||
| 47 | +- Swap files (`.swp`) | ||
| 48 | +- Lost+found directories | ||
| 49 | +- Cache directories | ||
| 50 | + | ||
| 51 | +## File Types | ||
| 52 | + | ||
| 53 | +**Custom file associations** defined in `rifle.conf` | ||
| 54 | +**Custom commands** available in `commands.py` | ||
| 55 | +**Preview behavior** controlled by `scope.sh` | ||
| 56 | + | ||
| 57 | +## Default Keybinds | ||
| 58 | + | ||
| 59 | +Ranger uses vim-like navigation: | ||
| 60 | +- `h/j/k/l` - Navigate (left/down/up/right) | ||
| 61 | +- `q` - Quit | ||
| 62 | +- `r` - Open with application | ||
| 63 | +- `yy` - Copy (yank) | ||
| 64 | +- `pp` - Paste | ||
| 65 | +- `dd` - Cut | ||
| 66 | +- `cw` - Rename | ||
| 67 | +- `zh` - Toggle hidden files | ||
| 68 | +- `S` - Open shell in current directory | ||
| 69 | + | ||
| 70 | +## Configuration Files | ||
| 71 | + | ||
| 72 | +- `rc.conf` - Main configuration | ||
| 73 | +- `rifle.conf` - File associations | ||
| 74 | +- `commands.py` - Custom commands | ||
| 75 | +- `scope.sh` - Preview script | ||
notes/tmux.mdmodified@@ -1,12 +1,29 @@ | |||
| 1 | -# Plugin Defaults — Quick Reference | 1 | +# Tmux Configuration Reference |
| 2 | 2 | ||
| 3 | -> “prefix” means your tmux prefix key (default: Ctrl+b). | 3 | +Current tmux setup with plugin defaults and custom prefix keys. |
| 4 | + | ||
| 5 | +## Prefix Keys | ||
| 6 | + | ||
| 7 | +| Key | Type | | ||
| 8 | +|-----|------| | ||
| 9 | +| `Ctrl-Space` | Primary prefix | | ||
| 10 | +| `Ctrl-b` | Fallback prefix | | ||
| 11 | + | ||
| 12 | +## Core Bindings | ||
| 13 | + | ||
| 14 | +| Keybind | Action | | ||
| 15 | +|---------|--------| | ||
| 16 | +| `prefix + r` | Reload configuration | | ||
| 17 | + | ||
| 18 | +## Plugin Defaults — Quick Reference | ||
| 19 | + | ||
| 20 | +> "prefix" means your tmux prefix key (Ctrl-Space or Ctrl-b). | ||
| 4 | 21 | ||
| 5 | | Plugin | Default keys | Context | What it does | Notes / Tips | | 22 | | Plugin | Default keys | Context | What it does | Notes / Tips | |
| 6 | |---|---|---|---|---| | 23 | |---|---|---|---|---| |
| 7 | -| tmux-yank | prefix + **y** | Normal mode | Copy the current command-line text to system clipboard. | Also **prefix + Y** copies the pane’s CWD. | | 24 | +| tmux-yank | prefix + **y** | Normal mode | Copy the current command-line text to system clipboard. | Also **prefix + Y** copies the pane's CWD. | |
| 8 | -| | **y** | Copy-mode | Yank the current selection to system clipboard. | **Y** “puts” selection to the command line. | | 25 | +| | **y** | Copy-mode | Yank the current selection to system clipboard. | **Y** "puts" selection to the command line. | |
| 9 | -| tmux-copycat | prefix + **/** | Normal mode | Start regex (or plain text) search; enter “copycat mode”. | Then **n/N** next/prev match; **Enter** to copy (vi mode). | | 26 | +| tmux-copycat | prefix + **/** | Normal mode | Start regex (or plain text) search; enter "copycat mode". | Then **n/N** next/prev match; **Enter** to copy (vi mode). | |
| 10 | | | prefix + **Ctrl-f** | Normal mode | Predefined search: files. | Other presets below. | | 27 | | | prefix + **Ctrl-f** | Normal mode | Predefined search: files. | Other presets below. | |
| 11 | | | prefix + **Ctrl-g** | Normal mode | Predefined search: `git status` files. | | | 28 | | | prefix + **Ctrl-g** | Normal mode | Predefined search: `git status` files. | | |
| 12 | | | prefix + **Alt-h** | Normal mode | Predefined search: SHA hashes. | | | 29 | | | prefix + **Alt-h** | Normal mode | Predefined search: SHA hashes. | | |
@@ -24,6 +41,24 @@ | |||
| 24 | | | prefix + **U** | Normal mode | Update plugins. | | | 41 | | | prefix + **U** | Normal mode | Update plugins. | | |
| 25 | | | prefix + **Alt+u** | Normal mode | Uninstall plugins removed from config. | | | 42 | | | prefix + **Alt+u** | Normal mode | Uninstall plugins removed from config. | | |
| 26 | 43 | ||
| 27 | -## Verify what’s bound in *your* session | 44 | +## Configuration Structure |
| 45 | + | ||
| 46 | +The tmux configuration is modular: | ||
| 47 | +- **Main config:** `.tmux.conf` (minimal entrypoint) | ||
| 48 | +- **Modular includes:** `.tmux.d/` directory | ||
| 49 | + - `10-options.conf` - General options | ||
| 50 | + - `20-keys.conf` - Keybindings | ||
| 51 | + - `30-mouse.conf` - Mouse settings | ||
| 52 | + - `40-status-theme.conf` - Status bar theme | ||
| 53 | + - `50-plugins.conf` - Plugin configuration | ||
| 54 | +- **Local overrides:** `.tmux.local.conf` | ||
| 55 | + | ||
| 56 | +## Terminal Features | ||
| 57 | + | ||
| 58 | +- **Truecolor support** enabled | ||
| 59 | +- **256-color terminal** capability | ||
| 60 | +- **Terminal overrides** for proper color support | ||
| 61 | + | ||
| 62 | +## Verify what's bound in *your* session | ||
| 28 | - List keys: `tmux list-keys | grep -Ei 'yank|copycat|open|fzf|resurrect|continuum|tpm'` | 63 | - List keys: `tmux list-keys | grep -Ei 'yank|copycat|open|fzf|resurrect|continuum|tpm'` |
| 29 | -- Some plugins adapt to tmux version/OS; use the command above as source of truth. | 64 | +- Some plugins adapt to tmux version/OS; use the command above as source of truth. |
notes/waybar.mdadded@@ -0,0 +1,69 @@ | |||
| 1 | +# Waybar Configuration Reference | ||
| 2 | + | ||
| 3 | +Status bar configuration for Hyprland with custom modules and styling. | ||
| 4 | + | ||
| 5 | +## Layout Overview | ||
| 6 | + | ||
| 7 | +**Position:** Top bar with 10px margins left/right | ||
| 8 | + | ||
| 9 | +**Left modules:** | ||
| 10 | +- Hyprland workspaces | ||
| 11 | +- Temperature monitor | ||
| 12 | +- Spotify integration | ||
| 13 | + | ||
| 14 | +**Center modules:** | ||
| 15 | +- Date/time display | ||
| 16 | +- Weather information | ||
| 17 | + | ||
| 18 | +**Right modules:** | ||
| 19 | +- Backlight control | ||
| 20 | +- Storage usage | ||
| 21 | +- Memory usage | ||
| 22 | +- CPU usage | ||
| 23 | +- Battery status | ||
| 24 | +- Audio (WirePlumber) | ||
| 25 | +- Custom integrations: | ||
| 26 | + - Almanta | ||
| 27 | + - Screenshot tools | ||
| 28 | + - JetBrains launcher | ||
| 29 | +- System tray | ||
| 30 | +- Power menu | ||
| 31 | + | ||
| 32 | +## Custom Modules | ||
| 33 | + | ||
| 34 | +**Media:** | ||
| 35 | +- `custom/spotify` - Spotify player status | ||
| 36 | + | ||
| 37 | +**System Info:** | ||
| 38 | +- `custom/storage` - Disk usage display | ||
| 39 | +- `custom/weather` - Weather information | ||
| 40 | +- `custom/almanta` - Custom system integration | ||
| 41 | + | ||
| 42 | +**Launchers:** | ||
| 43 | +- `custom/jetbrains` - JetBrains IDE launcher | ||
| 44 | +- `custom/screenshot_t` - Screenshot tools | ||
| 45 | +- `custom/power` - Power management menu | ||
| 46 | + | ||
| 47 | +## Module Scripts | ||
| 48 | + | ||
| 49 | +Custom modules use scripts from `waybar/modules/`: | ||
| 50 | +- `spotify.sh` - Spotify integration | ||
| 51 | +- `storage.sh` - Storage monitoring | ||
| 52 | +- `weather.sh` - Weather display | ||
| 53 | +- `jetbrains_menu.sh` - IDE launcher | ||
| 54 | +- `almanta.sh` - System integration | ||
| 55 | +- `mail.py` - Mail notifications | ||
| 56 | + | ||
| 57 | +## Styling Features | ||
| 58 | + | ||
| 59 | +- Custom CSS styling in `style.css` | ||
| 60 | +- Modular spacing (5px between modules) | ||
| 61 | +- Integrated with Hyprland workspace switching | ||
| 62 | +- Temperature and hardware monitoring | ||
| 63 | +- Audio control via WirePlumber | ||
| 64 | + | ||
| 65 | +## Reload | ||
| 66 | + | ||
| 67 | +Waybar can be reloaded with: | ||
| 68 | +- `$mainMod + W` (from Hyprland keybinds) | ||
| 69 | +- `killall -SIGUSR2 waybar` | ||