fortrangoingonforty/facsimile / b44a816

Browse files

update keybinds info

Authored by espadonne
SHA
b44a816891001baada5c0c2927b0417deba509ed
Parents
fd5ebde
Tree
2c9294b

2 changed files

StatusFile+-
M docs/KEYBINDINGS.md 83 76
M docs/LSP_GUIDE.md 20 15
docs/KEYBINDINGS.mdmodified
@@ -8,13 +8,13 @@ Complete keyboard shortcut reference for `fac` editor.
88
 
99
 | Keybinding | Command | Description |
1010
 |------------|---------|-------------|
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 |
1313
 | `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 |
1818
 | `Ctrl+P` | Command Palette | Search and execute any command |
1919
 | `Shift+Alt+F` | Format Document | Auto-format current file |
2020
 | `Alt+,` | Jump Back | Return to previous location (jump stack) |
@@ -76,17 +76,17 @@ Complete keyboard shortcut reference for `fac` editor.
7676
 | Keybinding | Command | Description |
7777
 |------------|---------|-------------|
7878
 | `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 |
9090
 
9191
 ---
9292
 
@@ -95,19 +95,15 @@ Complete keyboard shortcut reference for `fac` editor.
9595
 | Keybinding | Command | Description |
9696
 |------------|---------|-------------|
9797
 | `↑` `↓` `←` `→` | 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) |
101101
 | `End` or `Ctrl+E` | Line End | Jump to end of line |
102102
 | `Ctrl+Home` | File Start | Jump to beginning of file |
103103
 | `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 |
111107
 
112108
 ---
113109
 
@@ -129,8 +125,9 @@ Complete keyboard shortcut reference for `fac` editor.
129125
 | Keybinding | Command | Description |
130126
 |------------|---------|-------------|
131127
 | `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 |
134131
 | `Esc` | Cancel/Close | Close panels, cancel operations |
135132
 
136133
 ---
@@ -146,19 +143,17 @@ Complete keyboard shortcut reference for `fac` editor.
146143
 
147144
 ---
148145
 
149
-## 🌲 File Tree (Fortress Mode)
146
+## 🌲 File Tree (Fuss Mode)
150147
 
151148
 | Keybinding | Command | Description |
152149
 |------------|---------|-------------|
153
-| `Ctrl+Shift+F` | Toggle Tree | Show/hide file tree |
150
+| `Ctrl+B` or `F3` | Toggle Tree | Show/hide file tree |
154151
 | **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 |
158155
 | `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 |
162157
 | `Esc` | Close Tree | Hide file tree |
163158
 
164159
 ---
@@ -167,7 +162,10 @@ Complete keyboard shortcut reference for `fac` editor.
167162
 
168163
 | Keybinding | Command | Description |
169164
 |------------|---------|-------------|
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 |
171169
 | `Esc` | Single Cursor | Return to single cursor mode |
172170
 | *(while multiple cursors active)* | | |
173171
 | Type normally | Edit All | Type at all cursor positions |
@@ -192,25 +190,32 @@ When any panel is open (Diagnostics, References, Symbols, etc.):
192190
 ## ⚙️ Special Modes
193191
 
194192
 ### 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
204198
 - `↑` / `↓` - Navigate search history
205199
 - `Esc` - Exit search mode
206200
 
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
214219
 
215220
 ---
216221
 
@@ -219,53 +224,55 @@ Active when `Ctrl+Shift+F` is pressed:
219224
 ### Keybinding Conflicts
220225
 - Some keybindings may conflict with terminal emulator shortcuts
221226
 - 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
223229
 
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
227236
 
228237
 ### Discovering Commands
229238
 - 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
231240
 
232241
 ### Vim Users
233242
 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
240247
 
241248
 ---
242249
 
243250
 ## 🚀 Most Useful Combos
244251
 
245252
 **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
249256
 4. `Alt+,` - Jump back
250257
 
251258
 **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
255262
 4. `Ctrl+S` - Save
256263
 
257264
 **Refactoring:**
258
-1. `Shift+F12` - See all references
265
+1. `Shift+F12` or `Alt+R` - See all references
259266
 2. `F2` - Rename everywhere
260267
 3. `Shift+Alt+F` - Format code
261268
 4. `Ctrl+S` - Save
262269
 
263270
 **Working with multiple files:**
264
-1. `Ctrl+Shift+F` - Browse file tree
271
+1. `Ctrl+B` or `F3` - Browse file tree
265272
 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
269276
 
270277
 ---
271278
 
docs/LSP_GUIDE.mdmodified
@@ -125,7 +125,7 @@ def greet(name):
125125
 ```
126126
 
127127
 **Keybinding:**
128
-- `F8` or `Ctrl+Shift+D` - Open/close diagnostics panel
128
+- `F8` or `Alt+E` - Open/close diagnostics panel
129129
 - `j`/`k` or `↑`/`↓` - Navigate issues in panel
130130
 - `Enter` - Jump to selected issue
131131
 - `Esc` - Close panel
@@ -155,7 +155,7 @@ def calculate_total(items): # ← You land here
155155
 ```
156156
 
157157
 **Keybindings:**
158
-- `F12` or `Ctrl+\` - Go to definition
158
+- `F12` or `Ctrl+\` or `Alt+G` - Go to definition
159159
 - `Alt+,` - Jump back (navigate backward in jump history)
160160
 
161161
 **Cross-file navigation:** If the definition is in another file, `fac` automatically opens it in a new tab!
@@ -186,20 +186,20 @@ References to 'calculate_total':
186186
 ```
187187
 
188188
 **Keybindings:**
189
-- `Shift+F12` or `Ctrl+Shift+R` - Find all references
189
+- `Shift+F12` or `Alt+R` - Find all references
190190
 - `j`/`k` or `↑`/`↓` - Navigate references
191191
 - `Enter` - Jump to selected reference
192192
 - `Esc` - Close panel
193193
 
194194
 ---
195195
 
196
-### 4. Code Actions & Quick Fixes (Ctrl+.)
196
+### 4. Code Actions & Quick Fixes (Alt+.)
197197
 
198198
 **What it does:** Get quick fixes for errors and refactoring suggestions.
199199
 
200200
 **How to use:**
201
-1. Put cursor on an error or piece of code
202
-2. Press `Ctrl+.`
201
+1. Put cursor on a line with a diagnostic (error/warning)
202
+2. Press `F10` or `Alt+.`
203203
 3. Select an action from the menu
204204
 4. Press `Enter` to apply it
205205
 
@@ -227,11 +227,14 @@ import json # ← Automatically added!
227227
 - Add type hints
228228
 
229229
 **Keybindings:**
230
-- `Ctrl+.` - Open code actions menu
230
+- `F10` or `Alt+.` - Open code actions menu
231231
 - `j`/`k` or `↑`/`↓` - Navigate actions
232
+- `1`-`9` - Quick select action by number
232233
 - `Enter` - Apply selected action
233234
 - `Esc` - Close menu
234235
 
236
+**Note:** Code actions are context-sensitive. On a line without diagnostics, you'll only see global actions like "Organize imports" and "Fix all". Position cursor on a line with an error/warning to see specific fixes.
237
+
235238
 ---
236239
 
237240
 ### 5. Rename Symbol (F2)
@@ -297,7 +300,7 @@ Document Symbols:
297300
 ```
298301
 
299302
 **Keybindings:**
300
-- `F4` or `Ctrl+Shift+O` - Open document symbols panel
303
+- `F4` or `Alt+O` - Open document symbols panel
301304
 - Type to search (fuzzy matching)
302305
 - `j`/`k` or `↑`/`↓` - Navigate symbols
303306
 - `Enter` - Jump to selected symbol
@@ -331,7 +334,7 @@ Workspace Symbols:
331334
 - `calctot` matches `calculate_total` (consecutive)
332335
 
333336
 **Keybindings:**
334
-- `F6` or `Ctrl+Shift+T` - Open workspace symbols
337
+- `F6` or `Alt+P` - Open workspace symbols
335338
 - Type to search across all files
336339
 - `j`/`k` or `↑`/`↓` - Navigate results
337340
 - `Enter` - Jump to symbol (opens file if needed)
@@ -737,17 +740,19 @@ Many language servers support format-on-save:
737740
 
738741
 | Feature | Keybinding | What It Does |
739742
 |---------|-----------|--------------|
740
-| **Diagnostics Panel** | `F8` or `Ctrl+Shift+D` | Show all errors/warnings |
741
-| **Go to Definition** | `F12` or `Ctrl+\` | Jump to where symbol is defined |
742
-| **Find References** | `Shift+F12` or `Ctrl+Shift+R` | Find all usages of symbol |
743
-| **Code Actions** | `Ctrl+.` | Quick fixes and refactorings |
743
+| **Diagnostics Panel** | `F8` or `Alt+E` | Show all errors/warnings |
744
+| **Go to Definition** | `F12` or `Ctrl+\` or `Alt+G` | Jump to where symbol is defined |
745
+| **Find References** | `Shift+F12` or `Alt+R` | Find all usages of symbol |
746
+| **Code Actions** | `F10` or `Alt+.` | Quick fixes and refactorings |
744747
 | **Rename Symbol** | `F2` | Rename across entire project |
745
-| **Document Symbols** | `F4` or `Ctrl+Shift+O` | Outline of current file |
746
-| **Workspace Symbols** | `F6` or `Ctrl+Shift+T` | Search symbols across project |
748
+| **Document Symbols** | `F4` or `Alt+O` | Outline of current file |
749
+| **Workspace Symbols** | `F6` or `Alt+P` | Search symbols across project |
747750
 | **Format Document** | `Shift+Alt+F` | Auto-format code |
748751
 | **Command Palette** | `Ctrl+P` | Access all commands |
749752
 | **Jump Back** | `Alt+,` | Return to previous location |
750753
 
754
+**Note:** Alt+key combinations work better in terminals than Ctrl+Shift combinations.
755
+
751756
 ---
752757
 
753758
 ## Supported Languages