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 | |
| 4 | -| Keybind | Action | | |
| 5 | -|------------------------|-------------------------------------------| | |
| 6 | -| $mainMod + RETURN | Launch terminal (Alacritty) | | |
| 7 | -| $mainMod + E | Launch file manager (Dolphin) | | |
| 8 | -| $mainMod + SPACE | Launch app launcher (Wofi) | | |
| 9 | -| $mainMod + SHIFT + M | Exit Hyprland (terminate user session) | | |
| 3 | +Quick reference for current Hyprland keybinds, workspaces, and workflows. | |
| 4 | + | |
| 5 | +## Core Applications & Launchers | |
| 6 | + | |
| 7 | +| Keybind | Action | | |
| 8 | +|---------|--------| | |
| 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 | 18 | ## Window Management |
| 12 | -| Keybind | Action | | |
| 13 | -|------------------------|-------------------------------------------| | |
| 14 | -| $mainMod + Q | Close window | | |
| 15 | -| $mainMod + Y | Pin window (all workspaces) | | |
| 16 | -| $mainMod + F | Toggle fullscreen | | |
| 17 | -| $mainMod + J | Toggle split mode (dwindle) | | |
| 18 | -| $mainMod + V | Toggle float/tile | | |
| 19 | -| $mainMod + LMB drag | Move window | | |
| 20 | -| $mainMod + RMB drag | Resize window | | |
| 21 | - | |
| 22 | -### Moving Windows & Focus | |
| 23 | -| Keybind | Action | | |
| 24 | -|-------------------------------|----------------------------| | |
| 25 | -| $mainMod + Arrow Keys | Move focus | | |
| 26 | -| $mainMod + SHIFT + Arrow Keys | Move window | | |
| 27 | - | |
| 28 | -### Resizing | |
| 29 | -| Keybind | Action | | |
| 30 | -|----------------------------------------|-----------------------| | |
| 31 | -| $mainMod + R | Enter resize mode | | |
| 32 | -| h / j / k / l, Arrows (resize mode) | Resize | | |
| 33 | -| Esc | Exit resize mode | | |
| 34 | -| $mainMod + CTRL + Arrows | Resize (small) | | |
| 35 | -| $mainMod + CTRL + SHIFT + Arrows | Resize (medium) | | |
| 36 | -| $mainMod + ALT + CTRL (+ SHIFT) Arrows | Resize (large) | | |
| 37 | - | |
| 38 | -## Workspaces | |
| 39 | -| Keybind | Action | | |
| 40 | -|------------------------|-------------------------------------------| | |
| 41 | -| $mainMod + [1–0] | Switch to workspace | | |
| 42 | -| $mainMod + CTRL + [1–0]| Move window & switch to workspace | | |
| 43 | -| $mainMod + SHIFT + [1–0]| Move window silently to workspace | | |
| 44 | -| $mainMod + COMMA | Previous workspace | | |
| 45 | -| $mainMod + PERIOD | Next workspace | | |
| 46 | -| $mainMod + Slash | Switch to previous workspace | | |
| 47 | -| $mainMod + mouse scroll| Cycle workspaces | | |
| 48 | - | |
| 49 | -### Special Workspaces (Scratchpads) | |
| 50 | -| Keybind | Action | | |
| 51 | -|------------------------|-------------------------------------------| | |
| 52 | -| $mainMod + Z | Zen Browser | | |
| 53 | -| $mainMod + T | Terminal (Ghostty) | | |
| 54 | -| $mainMod + D | Discord | | |
| 55 | -| $mainMod + A | Audacity | | |
| 56 | -| $mainMod + O | TickTick | | |
| 57 | -| $mainMod + B | Bitwarden | | |
| 58 | -| $mainMod + M | Spotify | | |
| 59 | -| $mainMod + Minus | Toggle default scratchpad | | |
| 60 | -| $mainMod + SHIFT+Minus | Send window to scratchpad | | |
| 61 | - | |
| 62 | -*(Auto-launch rules: REAPER → ws9, LibreWolf → ws10. Scratchpads launch respective apps if empty.)* | |
| 19 | + | |
| 20 | +| Keybind | Action | | |
| 21 | +|---------|--------| | |
| 22 | +| `$mainMod + Q` | Close window | | |
| 23 | +| `$mainMod + Y` | Pin window (all workspaces) | | |
| 24 | +| `$mainMod + F` | Toggle fullscreen | | |
| 25 | +| `$mainMod + V` | Toggle float/tile | | |
| 26 | +| `$mainMod + /` | Toggle split mode | | |
| 27 | +| `$mainMod + K` | Toggle group mode | | |
| 28 | +| `$mainMod + Tab` | Next window in group | | |
| 29 | +| `$mainMod + X` | Toggle flow (disable animations) | | |
| 30 | +| `$mainMod + LMB drag` | Move window | | |
| 31 | +| `$mainMod + RMB drag` | Resize window | | |
| 32 | + | |
| 33 | +## Layouts & Gaps | |
| 34 | + | |
| 35 | +| Keybind | Action | | |
| 36 | +|---------|--------| | |
| 37 | +| `$mainMod + F10` | Master layout | | |
| 38 | +| `$mainMod + F11` | Dwindle layout | | |
| 39 | +| `$mainMod + G` | Remove gaps | | |
| 40 | +| `$mainMod + SHIFT + G` | Reset gaps (5/3) | | |
| 41 | + | |
| 42 | +## Focus & Movement | |
| 43 | + | |
| 44 | +| Keybind | Action | | |
| 45 | +|---------|--------| | |
| 46 | +| `$mainMod + Arrow Keys` | Move focus | | |
| 47 | +| `$mainMod + SHIFT + Arrow Keys` | Move window | | |
| 48 | + | |
| 49 | +## Resizing (Multi-tier) | |
| 50 | + | |
| 51 | +**Resize Mode:** | |
| 52 | +- `$mainMod + R` → Enter resize mode | |
| 53 | +- Arrow keys or `h/j/k/l` to resize | |
| 54 | +- `Esc` to exit | |
| 55 | + | |
| 56 | +**Quick Resize:** | |
| 57 | +- `$mainMod + CTRL + Arrows` → Small resize (25px) | |
| 58 | +- `$mainMod + CTRL + SHIFT + Arrows` → Medium resize (55px) | |
| 59 | +- `$mainMod + ALT + CTRL + Arrows` → Large resize (85px) | |
| 60 | +- `$mainMod + ALT + CTRL + SHIFT + Arrows` → XL resize (115px) | |
| 61 | + | |
| 62 | +## Workspaces (1-10) | |
| 63 | + | |
| 64 | +**Primary Monitor (DP-1):** Workspaces 1-5 | |
| 65 | +**Secondary Monitor (HDMI-A-1):** Workspaces 6-10 | |
| 66 | + | |
| 67 | +| Keybind | Action | | |
| 68 | +|---------|--------| | |
| 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 | 96 | ## Media & System |
| 65 | -| Keybind | Action | | |
| 66 | -|------------------------|-------------------------------------------| | |
| 67 | -| XF86AudioRaiseVolume | Volume up (+5%) | | |
| 68 | -| XF86AudioLowerVolume | Volume down (–5%) | | |
| 69 | -| XF86AudioMute | Toggle mute | | |
| 70 | -| XF86AudioPlay | Play/pause | | |
| 71 | -| XF86AudioNext | Next track | | |
| 72 | -| XF86AudioPrev | Previous track | | |
| 73 | -| XF86MonBrightnessUp | Increase brightness (+5%) | | |
| 74 | -| XF86MonBrightnessDown | Decrease brightness (–5%) | | |
| 75 | - | |
| 76 | -## Utilities | |
| 77 | -| Keybind | Action | | |
| 78 | -|------------------------|-------------------------------------------| | |
| 79 | -| $mainMod + L | Lock screen (swaylock-fancy) | | |
| 80 | -| $mainMod + W | Reload Waybar | | |
| 81 | -| Print | Screenshot (area) | | |
| 82 | -| Alt + Print | Screenshot (screen) | | |
| 83 | -| Ctrl + Print | Screenshot (window) | | |
| 84 | - | |
| 85 | ---- | |
| 86 | - | |
| 87 | -## Environment & Rules | |
| 88 | -- Animations: windows, workspaces, borders use slide/overshot effects | |
| 89 | -- Window Rules: | |
| 90 | - - REAPER → workspace 9 | |
| 91 | - - LibreWolf → workspace 10 | |
| 92 | - - Scratchpads auto-launch (Discord, Spotify, Zen, etc.) | |
| 93 | -- Monitors: | |
| 94 | - - DP-1 → 3840×2160 (primary) | |
| 95 | - - HDMI-A-1 → 2560×1440 (secondary) | |
| 96 | -- Autostart: Waybar, swaybg, fcitx5, mako, nm-applet, polkit, idle handler | |
| 97 | + | |
| 98 | +| Keybind | Action | | |
| 99 | +|---------|--------| | |
| 100 | +| `Print` | Screenshot region | | |
| 101 | +| `ALT + Print` | Screenshot screen | | |
| 102 | +| `CTRL + Print` | Screenshot window | | |
| 103 | +| `XF86Audio*` | Media controls (volume, play/pause) | | |
| 104 | +| `XF86MonBrightness*` | Brightness ±5% | | |
| 105 | +| `$mainMod + L` | Lock screen | | |
| 106 | +| `$mainMod + W` | Reload Waybar | | |
| 107 | +| `$mainMod + SHIFT + M` | Exit Hyprland | | |
| 108 | + | |
| 109 | +## Custom Scenes | |
| 110 | + | |
| 111 | +| Keybind | Action | | |
| 112 | +|---------|--------| | |
| 113 | +| `$mainMod + ALT + 1/2` | Toggle scene 1/2 | | |
| 114 | + | |
| 115 | +## Monitor Setup | |
| 116 | + | |
| 117 | +- **Primary (DP-1):** 3840×2160, workspaces 1-5 | |
| 118 | +- **Secondary (HDMI-A-1):** 2560×1440, workspaces 6-10 | |
| 119 | + | |
| 120 | +## Window Rules Summary | |
| 121 | + | |
| 122 | +- **Floating:** PiP, dialogs, system tools | |
| 123 | +- **Opacity:** File managers (92%), Discord (96%) | |
| 124 | +- **Auto-blur disabled:** Firefox | |
| 125 | +- **Smart gaps:** Different for tiled vs floating windows | |
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) | |
| 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**). | |
| 5 | +## Core Keybinds | |
| 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) | |
| 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 | +## File Management | |
| 14 | 15 | |
| 15 | -**Inside the picker (fzf):** | |
| 16 | -- Type to filter; **↑/↓** or **Ctrl-j/Ctrl-k** to move | |
| 17 | -- **Enter** open selection **Tab / Shift-Tab** multi-select (if enabled) | |
| 18 | -- Our options: `--height=85% --layout=reverse [--multi] --preview 'bat -f -p {}'` | |
| 16 | +**FZF File Finder:** | |
| 17 | +| Keybind | Action | | |
| 18 | +|---------|--------| | |
| 19 | +| `Alt-f` | Fuzzy file finder (mfzf) | | |
| 19 | 20 | |
| 20 | -**Tweakable:** | |
| 21 | -- `settings.json` → `fzfarg`, `fzfopen` (`newtab` or `open`), `fzfpath` (`relative` or `absolute`). | |
| 22 | -- Edit `/usr/local/bin/mfzf` to ignore heavy dirs (`node_modules`, `dist`, `target`, …). | |
| 21 | +**Current settings:** | |
| 22 | +- Uses custom `mfzf` wrapper (git-aware) | |
| 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) | |
| 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. | |
| 32 | +## Command Palette | |
| 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) | |
| 37 | -**Search word under cursor:** **Alt-g** | |
| 38 | -**Prompted search:** **Ctrl-Alt-g** | |
| 39 | -**What it does:** Runs ripgrep (`rg -n`) and drops results into a quickfix list. Select a line → **Enter** jumps to file/line. | |
| 46 | +| Keybind | Action | | |
| 47 | +|---------|--------| | |
| 48 | +| `Alt-d` | Go to definition | | |
| 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) | |
| 46 | -**Run current file:** **F5** **Make:** **F12** **Make (background):** **F9** | |
| 47 | -**What it does:** Saves & runs the active file (language/shebang aware). In projects with a `Makefile`, use F12/F9 for builds. | |
| 56 | +| Keybind | Action | | |
| 57 | +|---------|--------| | |
| 58 | +| `F5` | Run current file | | |
| 59 | +| `F12` | Make (foreground) | | |
| 60 | +| `F9` | Make (background) | | |
| 48 | 61 | |
| 49 | -**Tips:** | |
| 50 | -- For scripts, add a proper shebang (e.g., `#!/usr/bin/env python3`) so F5 “just works”. | |
| 51 | -- Use the command bar to run custom commands on demand if there’s no Makefile. | |
| 62 | +**Features:** | |
| 63 | +- Auto-detects file type/shebang | |
| 64 | +- Makefile support for projects | |
| 65 | +- Language-aware execution | |
| 52 | 66 | |
| 53 | ---- | |
| 67 | +## File Tree | |
| 54 | 68 | |
| 55 | -## Filemanager (side tree) | |
| 56 | -**Toggle tree:** **Ctrl-b** | |
| 57 | -**What it does:** Opens/closes a file tree pane you can navigate with arrows and open with **Enter**. Handy for quick browsing. | |
| 69 | +| Keybind | Action | | |
| 70 | +|---------|--------| | |
| 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) | |
| 64 | -**Open outline:** **F4** | |
| 65 | -**What it does:** Fuzzy-jump within the current buffer (functions, classes, Markdown headings, etc.). | |
| 79 | +| Keybind | Action | | |
| 80 | +|---------|--------| | |
| 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) | |
| 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). | |
| 87 | +## Comments | |
| 72 | 88 | |
| 73 | ---- | |
| 89 | +| Keybind | Action | | |
| 90 | +|---------|--------| | |
| 91 | +| `Alt-/` | Toggle comment | | |
| 92 | +| `Ctrl-_` | Toggle comment (alt) | | |
| 74 | 93 | |
| 75 | -## Handy palette one-liners | |
| 76 | -Run these from **Ctrl-E** (or bind keys to them): | |
| 77 | -- `pipe jq .` — pretty-print JSON | |
| 78 | -- `pipe yq -P` — pretty JSON→YAML (needs `yq`) | |
| 79 | -- `pipe sort -u` — sort unique lines | |
| 80 | -- `pipe sed -E 's/[[:space:]]+$//'` — strip trailing whitespace | |
| 94 | +*Uses comment.lua plugin* | |
| 95 | + | |
| 96 | +## Plugin Configuration | |
| 97 | + | |
| 98 | +**Current plugins:** | |
| 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) | |
| 60 | - | |
| 61 | -| Keybind | Action | | |
| 62 | -|-------------|-------------------------------------| | |
| 63 | -| `<C-s>` | Save (normal/insert/visual) | | |
| 64 | -| `<leader>q` | Quit | | |
| 65 | -| `<leader>sv`| Vertical split | | |
| 66 | -| `<leader>sh`| Horizontal split | | |
| 67 | -| `<leader>to`| New tab | | |
| 68 | -| `<leader>ff`| Telescope: find files | | |
| 69 | -| `<leader>fg`| Telescope: live grep | | |
| 70 | -| `<leader>fb`| Telescope: buffers | | |
| 71 | -| `<leader>fh`| Telescope: help tags | | |
| 72 | -| `-` | Oil file manager float | | |
| 73 | -| `<C-`>` | Toggle floating terminal | | |
| 74 | -| `<leader>tr`| Run task (Overseer) | | |
| 75 | -| `<leader>tt`| Task list toggle | | |
| 76 | -| `<leader>f` | Format buffer/file (Conform) | | |
| 59 | +## Custom Workflow Keymaps (Current Config) | |
| 60 | + | |
| 61 | +**Core Actions:** | |
| 62 | +| Keybind | Action | | |
| 63 | +|---------|--------| | |
| 64 | +| `<C-s>` | Save (normal/insert/visual) | | |
| 65 | +| `<leader>q` | Quit | | |
| 66 | +| `<Esc>` | Clear search highlights | | |
| 67 | + | |
| 68 | +**Windows & Tabs:** | |
| 69 | +| Keybind | Action | | |
| 70 | +|---------|--------| | |
| 71 | +| `<leader>sv` | Vertical split | | |
| 72 | +| `<leader>sh` | Horizontal split | | |
| 73 | +| `<leader>to` | New tab | | |
| 74 | + | |
| 75 | +**File Management:** | |
| 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 | | |
| 85 | -|-------------|--------------------------------------| | |
| 86 | -| `gd` | Goto definition | | |
| 87 | -| `gD` | Goto declaration | | |
| 88 | -| `gi` | Goto implementation | | |
| 89 | -| `gr` | List references | | |
| 90 | -| `K` | Hover docs | | |
| 91 | -| `<leader>rn`| Rename symbol | | |
| 92 | -| `<leader>ca`| Code action | | |
| 93 | -| `<leader>fd`| Format buffer (LSP/formatter) | | |
| 110 | +| Keybind | Action | | |
| 111 | +|---------|--------| | |
| 112 | +| `gd` | Goto definition | | |
| 113 | +| `gD` | Goto declaration | | |
| 114 | +| `gi` | Goto implementation | | |
| 115 | +| `gr` | List references | | |
| 116 | +| `K` | Hover documentation | | |
| 117 | +| `<leader>rn` | Rename symbol | | |
| 118 | +| `<leader>ca` | Code action | | |
| 119 | +| `<leader>fd` | Format buffer (LSP) | | |
| 94 | 120 | |
| 95 | 121 | --- |
| 96 | 122 | |
| 97 | 123 | ## Git Integration |
| 98 | 124 | |
| 99 | -- **Gitsigns.nvim** | |
| 100 | - - Shows inline git diff signs, hunk navigation (`]c` / `[c`), staging hunks (`:Gitsigns stage_hunk`). | |
| 125 | +**Gitsigns:** | |
| 126 | +- Inline diff signs in gutter | |
| 127 | +- Hunk navigation and staging | |
| 128 | +- `:Gitsigns stage_hunk`, `:Gitsigns blame_line` | |
| 101 | 129 | |
| 102 | -- **LazyGit.nvim** | |
| 103 | - - `:LazyGit` launches interactive TUI for Git inside Neovim. | |
| 130 | +**LazyGit:** | |
| 131 | +- `:LazyGit` - Full-featured Git TUI | |
| 104 | 132 | |
| 105 | 133 | --- |
| 106 | 134 | |
| 107 | 135 | ## Telescope (Fuzzy Finder) |
| 108 | 136 | |
| 109 | -- `<leader>ff` → Files | |
| 110 | -- `<leader>fg` → Live grep | |
| 111 | -- `<leader>fb` → Buffers | |
| 112 | -- `<leader>fh` → Help tags | |
| 137 | +| Keybind | Action | | |
| 138 | +|---------|--------| | |
| 139 | +| `<leader>ff` | Find files | | |
| 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 | 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**. | |
| 121 | -- Provides better highlighting + indenting. | |
| 153 | +**Auto-installed parsers:** | |
| 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 | 161 | ## Formatting (Conform.nvim) |
| 126 | 162 | |
| 127 | -| Language | Formatter(s) | | |
| 128 | -|--------------|--------------------------------------| | |
| 129 | -| Lua | stylua | | |
| 130 | -| Python | ruff_format, black | | |
| 131 | -| Shell/Fish | shfmt, fish_indent | | |
| 132 | -| C/C++ | clang-format | | |
| 133 | -| JS/TS/HTML | prettier | | |
| 134 | -| JSON/YAML | jq / prettier | | |
| 135 | -| TOML | taplo | | |
| 136 | -| Markdown | prettier | | |
| 137 | -| Fortran | fprettify | | |
| 163 | +**Auto-format on save** (disabled for files >512KB) | |
| 164 | + | |
| 165 | +| Language | Formatter(s) | | |
| 166 | +|----------|-------------| | |
| 167 | +| Lua | stylua | | |
| 168 | +| Python | ruff_format, black | | |
| 169 | +| Shell scripts | shfmt | | |
| 170 | +| Fish | fish_indent | | |
| 171 | +| C/C++ | clang_format | | |
| 172 | +| JS/TS | prettier | | |
| 173 | +| JSON | jq, prettier | | |
| 174 | +| YAML | prettier | | |
| 175 | +| TOML | taplo | | |
| 176 | +| HTML/CSS | prettier | | |
| 177 | +| Markdown | prettier | | |
| 138 | 178 | |
| 139 | 179 | --- |
| 140 | 180 | |
| 141 | 181 | ## Debugging (nvim-dap + dap-ui) |
| 142 | 182 | |
| 143 | -- `:DapToggleBreakpoint` → set/clear breakpoint | |
| 144 | -- `:DapContinue` → run/start | |
| 145 | -- `:DapStepOver` / `:DapStepInto` / `:DapStepOut` | |
| 146 | -- DAP UI auto-opens on session start. | |
| 183 | +**Basic DAP setup included:** | |
| 184 | +- `:DapToggleBreakpoint` - Set/clear breakpoint | |
| 185 | +- `:DapContinue` - Run/start debugging | |
| 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` | |
| 153 | -- True multi-cursor: install **vim-visual-multi** | |
| 154 | - - `Ctrl+n` → add cursor to next occurrence | |
| 155 | - - `Ctrl+p` → add cursor to prev | |
| 156 | - - `Ctrl+x` → skip | |
| 193 | +**Current plugins:** | |
| 194 | +- **TokyoNight theme** (night style) | |
| 195 | +- **Lualine** - Status line with global status | |
| 196 | +- **Which-key** - Keybind hints | |
| 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 | |
| 161 | -- Use `.` to repeat edits, `:noh` to clear highlights | |
| 162 | -- Combine motions: `d2w` (delete 2 words), `c$` (change to end of line) | |
| 163 | -- Use **Overseer** for project build/run/test integration | |
| 164 | -- Map `-` (Oil) for directory browsing like a mini file manager | |
| 165 | -- Use `<C-`>` as a popup shell without leaving Neovim | |
| 166 | -- Keep `<leader>` easy (`<Space>` in this config) for speed | |
| 205 | +## Configuration Highlights | |
| 206 | + | |
| 207 | +**Leaders:** `<Space>` (main), `,` (local) | |
| 208 | + | |
| 209 | +**Auto-features:** | |
| 210 | +- Format on save (files <512KB) | |
| 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 | 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. | | |
| 8 | -| | **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). | | |
| 24 | +| tmux-yank | prefix + **y** | Normal mode | Copy the current command-line text to system clipboard. | Also **prefix + Y** copies the pane's CWD. | | |
| 25 | +| | **y** | Copy-mode | Yank the current selection to system clipboard. | **Y** "puts" selection to the command line. | | |
| 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 | 27 | | | prefix + **Ctrl-f** | Normal mode | Predefined search: files. | Other presets below. | |
| 11 | 28 | | | prefix + **Ctrl-g** | Normal mode | Predefined search: `git status` files. | | |
| 12 | 29 | | | prefix + **Alt-h** | Normal mode | Predefined search: SHA hashes. | | |
@@ -24,6 +41,24 @@ | ||
| 24 | 41 | | | prefix + **U** | Normal mode | Update plugins. | | |
| 25 | 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 | 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` | |