@@ -8,13 +8,13 @@ Complete keyboard shortcut reference for `fac` editor. |
| 8 | 8 | |
| 9 | 9 | | Keybinding | Command | Description | |
| 10 | 10 | |------------|---------|-------------| |
| 11 | | -| `F12` or `Ctrl+\` | Go to Definition | Jump to where a symbol is defined | |
| 12 | | -| `Shift+F12` or `Ctrl+Shift+R` | Find References | Find all usages of a symbol | |
| 11 | +| `F12` or `Ctrl+\` or `Alt+G` | Go to Definition | Jump to where a symbol is defined | |
| 12 | +| `Shift+F12` or `Alt+R` | Find References | Find all usages of a symbol | |
| 13 | 13 | | `F2` | Rename Symbol | Rename symbol across entire project | |
| 14 | | -| `Ctrl+.` | Code Actions | Quick fixes and refactorings | |
| 15 | | -| `F8` or `Ctrl+Shift+D` | Diagnostics Panel | Show all errors and warnings | |
| 16 | | -| `F4` or `Ctrl+Shift+O` | Document Symbols | Navigate symbols in current file | |
| 17 | | -| `F6` or `Ctrl+Shift+T` | Workspace Symbols | Search symbols across all files | |
| 14 | +| `F10` or `Alt+.` | Code Actions | Quick fixes and refactorings | |
| 15 | +| `F8` or `Alt+E` | Diagnostics Panel | Show all errors and warnings | |
| 16 | +| `F4` or `Alt+O` | Document Symbols | Navigate symbols in current file | |
| 17 | +| `F6` or `Alt+P` | Workspace Symbols | Search symbols across all files | |
| 18 | 18 | | `Ctrl+P` | Command Palette | Search and execute any command | |
| 19 | 19 | | `Shift+Alt+F` | Format Document | Auto-format current file | |
| 20 | 20 | | `Alt+,` | Jump Back | Return to previous location (jump stack) | |
@@ -76,17 +76,17 @@ Complete keyboard shortcut reference for `fac` editor. |
| 76 | 76 | | Keybinding | Command | Description | |
| 77 | 77 | |------------|---------|-------------| |
| 78 | 78 | | `Ctrl+T` | New Tab | Create new empty tab | |
| 79 | | -| `Ctrl+W` | Close Tab | Close current tab | |
| 80 | | -| `Ctrl+Tab` | Next Tab | Switch to next tab | |
| 81 | | -| `F6ab` | Previous Tab | Switch to previous tab | |
| 82 | | -| `Alt+1` to `Alt+9` | Jump to Tab | Switch to specific tab number | |
| 83 | | -| `Ctrl+\` | Split Vertical | Split current pane vertically | |
| 84 | | -| `Ctrl+Shift+\` | Split Horizontal | Split current pane horizontally | |
| 85 | | -| `Ctrl+Shift+W` | Close Pane | Close current pane | |
| 86 | | -| `Ctrl+H` | Navigate Left | Move to pane on the left | |
| 87 | | -| `Ctrl+L` | Navigate Right | Move to pane on the right | |
| 88 | | -| `Ctrl+K` | Navigate Up | Move to pane above | |
| 89 | | -| `Ctrl+J` | Navigate Down | Move to pane below | |
| 79 | +| `Ctrl+W` | Close Tab/Pane | Close current pane (then tab if last pane) | |
| 80 | +| `Ctrl+PageDown` or `Ctrl+Alt+Right` | Next Tab | Switch to next tab | |
| 81 | +| `Ctrl+PageUp` or `Ctrl+Alt+Left` | Previous Tab | Switch to previous tab | |
| 82 | +| `Alt+1` to `Alt+9` (or `Ctrl+1` to `Ctrl+9`) | Jump to Tab | Switch to specific tab number | |
| 83 | +| `Alt+V` | Split Vertical | Split current pane vertically | |
| 84 | +| `Alt+S` | Split Horizontal | Split current pane horizontally | |
| 85 | +| `Alt+Q` | Close Pane | Close current pane only | |
| 86 | +| `Alt+H` or `Ctrl+Shift+Left` | Navigate Left | Move to pane on the left | |
| 87 | +| `Alt+L` or `Ctrl+Shift+Right` | Navigate Right | Move to pane on the right | |
| 88 | +| `Alt+K` or `Ctrl+Shift+Up` | Navigate Up | Move to pane above | |
| 89 | +| `Alt+J` or `Ctrl+Shift+Down` | Navigate Down | Move to pane below | |
| 90 | 90 | |
| 91 | 91 | --- |
| 92 | 92 | |
@@ -95,19 +95,15 @@ Complete keyboard shortcut reference for `fac` editor. |
| 95 | 95 | | Keybinding | Command | Description | |
| 96 | 96 | |------------|---------|-------------| |
| 97 | 97 | | `↑` `↓` `←` `→` | Move Cursor | Move cursor one character/line | |
| 98 | | -| `Ctrl+↑` | Move Line Up | Move current line up | |
| 99 | | -| `Ctrl+↓` | Move Line Down | Move current line down | |
| 100 | | -| `Home` or `Ctrl+A` | Line Start | Jump to beginning of line | |
| 98 | +| `Alt+↑` | Move Line Up | Move current line up | |
| 99 | +| `Alt+↓` | Move Line Down | Move current line down | |
| 100 | +| `Home` or `Ctrl+A` | Line Start | Jump to beginning of line (smart toggle) | |
| 101 | 101 | | `End` or `Ctrl+E` | Line End | Jump to end of line | |
| 102 | 102 | | `Ctrl+Home` | File Start | Jump to beginning of file | |
| 103 | 103 | | `Ctrl+End` | File End | Jump to end of file | |
| 104 | | -| `Page Up` | Scroll Up | Move up one screen | |
| 105 | | -| `Page Down` | Scroll Down | Move down one screen | |
| 106 | | -| `Ctrl+U` | Half Page Up | Scroll up half screen (vim-style) | |
| 107 | | -| `Ctrl+B` | Full Page Up | Scroll up full screen (vim-style) | |
| 108 | | -| `Ctrl+D` | Half Page Down | Scroll down half screen (vim-style) | |
| 109 | | -| `Ctrl+F` | Full Page Down | Scroll down full screen (vim-style) | |
| 110 | | -| `%` | Match Bracket | Jump to matching bracket/paren | |
| 104 | +| `Alt+←` / `Alt+→` | Word Jump | Move cursor by word | |
| 105 | +| `Page Up` / `Page Down` | Page Scroll | Move up/down one screen | |
| 106 | +| `Alt+[` / `Alt+]` | Match Bracket | Jump to matching bracket/paren | |
| 111 | 107 | |
| 112 | 108 | --- |
| 113 | 109 | |
@@ -129,8 +125,9 @@ Complete keyboard shortcut reference for `fac` editor. |
| 129 | 125 | | Keybinding | Command | Description | |
| 130 | 126 | |------------|---------|-------------| |
| 131 | 127 | | `Ctrl+P` | Command Palette | Search and execute any command | |
| 132 | | -| `Ctrl+?` or `F1` | Help | Show help screen | |
| 133 | | -| `Ctrl+Shift+F` | File Tree | Toggle file explorer (Fortress mode) | |
| 128 | +| `Ctrl+?` or `Ctrl+/` | Help | Show help screen | |
| 129 | +| `Ctrl+B` or `F3` | File Tree | Toggle file explorer (Fuss mode) | |
| 130 | +| `Ctrl+L` | Redraw Screen | Clear and redraw the screen | |
| 134 | 131 | | `Esc` | Cancel/Close | Close panels, cancel operations | |
| 135 | 132 | |
| 136 | 133 | --- |
@@ -146,19 +143,17 @@ Complete keyboard shortcut reference for `fac` editor. |
| 146 | 143 | |
| 147 | 144 | --- |
| 148 | 145 | |
| 149 | | -## 🌲 File Tree (Fortress Mode) |
| 146 | +## 🌲 File Tree (Fuss Mode) |
| 150 | 147 | |
| 151 | 148 | | Keybinding | Command | Description | |
| 152 | 149 | |------------|---------|-------------| |
| 153 | | -| `Ctrl+Shift+F` | Toggle Tree | Show/hide file tree | |
| 150 | +| `Ctrl+B` or `F3` | Toggle Tree | Show/hide file tree | |
| 154 | 151 | | **In Tree:** | | | |
| 155 | | -| `↑` `↓` or `j` `k` | Navigate | Move selection up/down | |
| 156 | | -| `Enter` or `l` | Open/Expand | Open file or expand directory | |
| 157 | | -| `h` | Collapse | Collapse current directory | |
| 152 | +| `j` `k` or `↑` `↓` | Navigate | Move to previous/next sibling | |
| 153 | +| `→` / `←` | Enter/Exit | Enter directory or exit to parent | |
| 154 | +| `Enter` or `o` | Open | Open file in editor | |
| 158 | 155 | | `Space` | Toggle Expand | Expand/collapse directory | |
| 159 | | -| `/` | Search Files | Filter files by name | |
| 160 | | -| `g` | Go to Top | Jump to first item | |
| 161 | | -| `G` | Go to Bottom | Jump to last item | |
| 156 | +| `?` | Show Hints | Display fuss mode keybindings | |
| 162 | 157 | | `Esc` | Close Tree | Hide file tree | |
| 163 | 158 | |
| 164 | 159 | --- |
@@ -167,7 +162,10 @@ Complete keyboard shortcut reference for `fac` editor. |
| 167 | 162 | |
| 168 | 163 | | Keybinding | Command | Description | |
| 169 | 164 | |------------|---------|-------------| |
| 170 | | -| `Ctrl+D` | Add Next Match | Add cursor at next match of selection | |
| 165 | +| `Ctrl+D` | Select Word & Next | Select word under cursor, add cursor at next match | |
| 166 | +| `Alt+Click` | Add/Remove Cursor | Add or remove cursor at mouse position | |
| 167 | +| `Ctrl+Alt+↑` | Add Cursor Above | Add cursor on line above | |
| 168 | +| `Ctrl+Alt+↓` | Add Cursor Below | Add cursor on line below | |
| 171 | 169 | | `Esc` | Single Cursor | Return to single cursor mode | |
| 172 | 170 | | *(while multiple cursors active)* | | | |
| 173 | 171 | | Type normally | Edit All | Type at all cursor positions | |
@@ -192,25 +190,32 @@ When any panel is open (Diagnostics, References, Symbols, etc.): |
| 192 | 190 | ## ⚙️ Special Modes |
| 193 | 191 | |
| 194 | 192 | ### Search/Replace Mode |
| 195 | | -Active when `Ctrl+F` is pressed: |
| 196 | | -- `n` / `Ctrl+N` - Next match |
| 197 | | -- `N` / `Ctrl+P` - Previous match |
| 198 | | -- `r` - Replace current |
| 199 | | -- `a` - Replace all |
| 200 | | -- `Ctrl+R` - Toggle regex |
| 201 | | -- `Ctrl+C` - Toggle case sensitive |
| 202 | | -- `Ctrl+W` - Toggle whole word |
| 203 | | -- `Alt+S` - Search in selection |
| 193 | +Active when `Ctrl+F` (search) or `Ctrl+R` (replace) is pressed: |
| 194 | +- `n` - Next match |
| 195 | +- `N` - Previous match |
| 196 | +- `Alt+C` - Toggle case sensitive |
| 197 | +- `Alt+W` - Toggle whole word match |
| 204 | 198 | - `↑` / `↓` - Navigate search history |
| 205 | 199 | - `Esc` - Exit search mode |
| 206 | 200 | |
| 207 | | -### Fortress (File Tree) Mode |
| 208 | | -Active when `Ctrl+Shift+F` is pressed: |
| 209 | | -- `j` / `k` or `↑` / `↓` - Navigate |
| 210 | | -- `Enter` or `l` - Open/Expand |
| 211 | | -- `h` - Collapse |
| 212 | | -- `/` - Filter files |
| 213 | | -- `Esc` - Exit Fortress mode |
| 201 | +### Fuss (File Tree) Mode |
| 202 | +Active when `Ctrl+B` or `F3` is pressed: |
| 203 | +- `j` / `k` - Move to previous/next sibling |
| 204 | +- `→` / `←` - Enter directory / exit to parent |
| 205 | +- `Enter` or `o` - Open file |
| 206 | +- `Space` - Toggle expand/collapse |
| 207 | +- `?` - Show hints |
| 208 | +- `Esc` - Exit Fuss mode |
| 209 | + |
| 210 | +**Git operations in Fuss mode:** |
| 211 | +- `a` - Stage file |
| 212 | +- `u` - Unstage file |
| 213 | +- `d` - Diff file |
| 214 | +- `m` - Commit with message |
| 215 | +- `p` - Push to remote |
| 216 | +- `f` - Fetch from remote |
| 217 | +- `l` - Pull from remote |
| 218 | +- `t` - Create and push tag |
| 214 | 219 | |
| 215 | 220 | --- |
| 216 | 221 | |
@@ -219,53 +224,55 @@ Active when `Ctrl+Shift+F` is pressed: |
| 219 | 224 | ### Keybinding Conflicts |
| 220 | 225 | - Some keybindings may conflict with terminal emulator shortcuts |
| 221 | 226 | - If a key doesn't work, check your terminal's keyboard settings |
| 222 | | -- Common conflicts: `F6` (new terminal tab), `Ctrl+W` (close terminal tab) |
| 227 | +- Common conflicts: F-keys (media controls), `Ctrl+W` (close terminal tab) |
| 228 | +- All LSP features have Alt+key alternatives that work better in terminals |
| 223 | 229 | |
| 224 | | -### Customization |
| 225 | | -- Keybindings are currently hardcoded |
| 226 | | -- Future versions will support custom keybindings |
| 230 | +### Terminal Compatibility |
| 231 | +Most terminal emulators don't pass Ctrl+Shift combinations reliably. That's why `fac` uses Alt+key alternatives: |
| 232 | +- `Alt+E` instead of Ctrl+Shift+D for diagnostics |
| 233 | +- `Alt+O` instead of Ctrl+Shift+O for document symbols |
| 234 | +- `Alt+P` instead of Ctrl+Shift+T for workspace symbols |
| 235 | +- `Alt+R` instead of Ctrl+Shift+R for references |
| 227 | 236 | |
| 228 | 237 | ### Discovering Commands |
| 229 | 238 | - Use `Ctrl+P` (Command Palette) to see all available commands |
| 230 | | -- Commands show their keybindings in the palette |
| 239 | +- Press `Ctrl+/` or `Ctrl+?` to see the help screen |
| 231 | 240 | |
| 232 | 241 | ### Vim Users |
| 233 | 242 | Some vim-style keybindings work: |
| 234 | | -- `j` / `k` - Up/down in panels |
| 235 | | -- `g` / `G` - Top/bottom in file tree |
| 236 | | -- `h` / `l` - Collapse/expand in file tree |
| 237 | | -- `Ctrl+U` / `Ctrl+D` - Half-page scroll |
| 238 | | -- `Ctrl+B` / `Ctrl+F` - Full-page scroll |
| 239 | | -- `%` - Match bracket |
| 243 | +- `j` / `k` - Up/down in panels and file tree |
| 244 | +- `Alt+H/J/K/L` - Navigate between panes |
| 245 | +- `o` - Open file in file tree |
| 246 | +- Navigation in Fuss mode is sibling-based like vim's file explorers |
| 240 | 247 | |
| 241 | 248 | --- |
| 242 | 249 | |
| 243 | 250 | ## 🚀 Most Useful Combos |
| 244 | 251 | |
| 245 | 252 | **Exploring code:** |
| 246 | | -1. `F6` - Find any symbol in project |
| 247 | | -2. `F12` - Jump to definition |
| 248 | | -3. `Shift+F12` - See all usages |
| 253 | +1. `F6` or `Alt+P` - Find any symbol in project |
| 254 | +2. `F12` or `Alt+G` - Jump to definition |
| 255 | +3. `Shift+F12` or `Alt+R` - See all usages |
| 249 | 256 | 4. `Alt+,` - Jump back |
| 250 | 257 | |
| 251 | 258 | **Fixing errors:** |
| 252 | | -1. `F8` - See all errors |
| 253 | | -2. Navigate to error |
| 254 | | -3. `Ctrl+.` - Apply quick fix |
| 259 | +1. `F8` or `Alt+E` - See all errors |
| 260 | +2. Navigate to error line |
| 261 | +3. `F10` or `Alt+.` - Apply quick fix |
| 255 | 262 | 4. `Ctrl+S` - Save |
| 256 | 263 | |
| 257 | 264 | **Refactoring:** |
| 258 | | -1. `Shift+F12` - See all references |
| 265 | +1. `Shift+F12` or `Alt+R` - See all references |
| 259 | 266 | 2. `F2` - Rename everywhere |
| 260 | 267 | 3. `Shift+Alt+F` - Format code |
| 261 | 268 | 4. `Ctrl+S` - Save |
| 262 | 269 | |
| 263 | 270 | **Working with multiple files:** |
| 264 | | -1. `Ctrl+Shift+F` - Browse file tree |
| 271 | +1. `Ctrl+B` or `F3` - Browse file tree |
| 265 | 272 | 2. `Enter` - Open in new tab |
| 266 | | -3. `Ctrl+Tab` - Switch between tabs |
| 267 | | -4. `Ctrl+\` - Split panes |
| 268 | | -5. `Ctrl+H/J/K/L` - Navigate panes |
| 273 | +3. `Ctrl+PageDown/Up` - Switch between tabs |
| 274 | +4. `Alt+V` / `Alt+S` - Split panes vertical/horizontal |
| 275 | +5. `Alt+H/J/K/L` - Navigate panes |
| 269 | 276 | |
| 270 | 277 | --- |
| 271 | 278 | |