rtfm-filemanager 7.3.6 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,387 @@
1
+ # RTFM Keyboard Reference
2
+
3
+ Complete keyboard shortcut reference organized by category.
4
+
5
+ **Quick access:** Press `?` in RTFM for built-in help.
6
+
7
+ ## Basic Keys
8
+
9
+ | Key | Action |
10
+ |-----|--------|
11
+ | `?` | Show help text |
12
+ | `v` | Show version and image protocol |
13
+ | `r` | Refresh display (terminal resize) |
14
+ | `R` | Reload configuration |
15
+ | `W` | Write config to ~/.rtfm/conf |
16
+ | `C` | Show current configuration |
17
+ | `q` | Quit and save |
18
+ | `Q` | Quit without saving |
19
+
20
+ ## Navigation
21
+
22
+ ### Basic Movement
23
+
24
+ | Key | Action |
25
+ |-----|--------|
26
+ | `j` / `↓` | Move down one item |
27
+ | `k` / `↑` | Move up one item |
28
+ | `h` / `←` | Go to parent directory |
29
+ | `l` / `→` / `ENTER` | Enter directory or open file |
30
+ | `HOME` | Jump to first item |
31
+ | `END` | Jump to last item |
32
+ | `PgDn` | Page down |
33
+ | `PgUp` | Page up |
34
+
35
+ ### Directory Navigation
36
+
37
+ | Key | Action |
38
+ |-----|--------|
39
+ | `~` | Jump to home directory |
40
+ | `'` + letter | Jump to bookmark |
41
+ | `>` | Follow symlink to target |
42
+ | `Ctrl-r` | Show recent files/directories |
43
+
44
+ ## Marks & Bookmarks
45
+
46
+ | Key | Action |
47
+ |-----|--------|
48
+ | `m` + letter | Set bookmark (a-z) |
49
+ | `m` + `-` + letter | Delete bookmark |
50
+ | `M` | Show all bookmarks |
51
+ | `'` + letter | Jump to bookmark |
52
+
53
+ **Special bookmarks:**
54
+ - `'` - Last visited directory
55
+ - `0` - Launch directory
56
+ - `1-5` - Last 5 visited (auto-managed)
57
+
58
+ ## Tagging
59
+
60
+ | Key | Action |
61
+ |-----|--------|
62
+ | `t` | Tag/untag current item |
63
+ | `Ctrl-t` | Tag items matching pattern |
64
+ | `T` | Show tagged items list |
65
+ | `u` | Untag all items |
66
+
67
+ **Pattern examples:**
68
+ - `.` - Tag all items
69
+ - `*.txt` - Tag all .txt files
70
+ - `test.*` - Tag files starting with "test"
71
+
72
+ ## File Operations
73
+
74
+ ### Copy & Move
75
+
76
+ | Key | Action |
77
+ |-----|--------|
78
+ | `p` | Copy tagged items here |
79
+ | `P` | Move tagged items here |
80
+ | `s` | Create symlinks to tagged items |
81
+
82
+ ### Rename
83
+
84
+ | Key | Action |
85
+ |-----|--------|
86
+ | `c` | Rename single item |
87
+ | `E` | Bulk rename tagged items (patterns) |
88
+
89
+ **Bulk rename patterns:**
90
+ - `s/old/new/` - Replace text
91
+ - `PREFIX_#` - Add prefix with counter
92
+ - `upper` / `lower` - Change case
93
+
94
+ ### Delete
95
+
96
+ | Key | Action |
97
+ |-----|--------|
98
+ | `d` | Delete (trash if enabled) |
99
+ | `D` | Empty trash directory |
100
+ | `Ctrl-d` | Toggle trash on/off |
101
+ | `U` | Undo last operation |
102
+
103
+ **Undo works for:**
104
+ - Delete (from trash)
105
+ - Move
106
+ - Rename
107
+ - Copy
108
+ - Symlink
109
+ - Bulk rename
110
+ - Permissions
111
+ - Ownership
112
+
113
+ ## Permissions & Ownership
114
+
115
+ | Key | Action |
116
+ |-----|--------|
117
+ | `Ctrl-p` | Change permissions |
118
+ | `Ctrl-o` | Change ownership (user:group) |
119
+
120
+ ### Permission Formats
121
+
122
+ | Format | Example | Description |
123
+ |--------|---------|-------------|
124
+ | Octal | `755` | rwxr-xr-x |
125
+ | Full | `rwxr-xr-x` | Explicit permissions |
126
+ | Short | `rwx` | Apply to all (user, group, other) |
127
+ | Add | `+x` | Add execute for all |
128
+ | Remove | `-w` | Remove write for all |
129
+ | Combined | `+rw` | Add read and write |
130
+
131
+ ## Search & Filter
132
+
133
+ ### Filtering
134
+
135
+ | Key | Action |
136
+ |-----|--------|
137
+ | `f` | Filter by extension |
138
+ | `F` | Filter by regex pattern |
139
+ | `Ctrl-f` | Clear all filters |
140
+
141
+ **Examples:**
142
+ - `f` → `txt` - Show only .txt files
143
+ - `f` → `pdf,png,jpg` - Show PDFs and images
144
+ - `F` → `test.*\.rb` - Show test*.rb files
145
+
146
+ ### Searching
147
+
148
+ | Key | Action |
149
+ |-----|--------|
150
+ | `/` | Search and highlight |
151
+ | `n` | Next match |
152
+ | `N` | Previous match |
153
+ | `\` | Clear search |
154
+
155
+ ### Finding Files
156
+
157
+ | Key | Action |
158
+ |-----|--------|
159
+ | `g` | Grep content in files |
160
+ | `L` | Locate files (then `#` to jump) |
161
+ | `Ctrl-l` | Fuzzy find with fzf |
162
+
163
+ ## Display Options
164
+
165
+ ### Layout
166
+
167
+ | Key | Action |
168
+ |-----|--------|
169
+ | `w` | Change pane width ratio |
170
+ | `B` | Cycle border styles |
171
+ | `-` | Toggle preview on/off |
172
+ | `_` | Toggle image preview |
173
+ | `b` | Toggle syntax highlighting |
174
+
175
+ **Pane widths:**
176
+ - 2 = Narrow left (20%)
177
+ - 5 = Balanced (50%) - default
178
+ - 7 = Wide left (70%)
179
+
180
+ **Border styles:**
181
+ - 0 = No borders
182
+ - 1 = Right pane only
183
+ - 2 = Both panes
184
+ - 3 = Left pane only
185
+
186
+ ### File List Options
187
+
188
+ | Key | Action |
189
+ |-----|--------|
190
+ | `a` | Show/hide hidden files |
191
+ | `A` | Toggle long info (ls -l) |
192
+ | `o` | Change sort order |
193
+ | `i` | Invert sort order |
194
+ | `O` | Show current sort command |
195
+
196
+ **Sort orders (cycle with `o`):**
197
+ - Name
198
+ - Size
199
+ - Time
200
+ - Extension
201
+
202
+ ## Right Pane Controls
203
+
204
+ | Key | Action |
205
+ |-----|--------|
206
+ | `ENTER` | Refresh right pane |
207
+ | `Shift-↓` | Scroll down one line |
208
+ | `Shift-↑` | Scroll up one line |
209
+ | `TAB` / `Shift-→` | Page down |
210
+ | `Shift-TAB` / `Shift-←` | Page up |
211
+
212
+ ## Clipboard Operations
213
+
214
+ | Key | Action |
215
+ |-----|--------|
216
+ | `y` | Copy path → primary selection (middle-click paste) |
217
+ | `Y` | Copy path → clipboard (Ctrl-v paste) |
218
+ | `Ctrl-y` | Copy image to clipboard (or right pane text) |
219
+
220
+ **Image clipboard:**
221
+ When viewing an image, `Ctrl-y` copies the actual image file - paste into GIMP, Inkscape, etc.
222
+
223
+ ## Tab Management
224
+
225
+ | Key | Action |
226
+ |-----|--------|
227
+ | `]` | Create new tab (current directory) |
228
+ | `[` | Close current tab |
229
+ | `J` | Previous tab |
230
+ | `K` | Next tab |
231
+ | `}` | Duplicate current tab |
232
+ | `{` | Rename current tab |
233
+ | `1-9` | Switch to tab number |
234
+
235
+ **Tab indicator:** Top-right shows `[2/5]` (tab 2 of 5)
236
+
237
+ ## Archives
238
+
239
+ | Key | Action |
240
+ |-----|--------|
241
+ | `z` | Extract tagged archive |
242
+ | `Z` | Create archive from tagged items |
243
+
244
+ **Supported formats:** .zip, .tar, .gz, .bz2, .xz, .rar, .7z
245
+
246
+ ## Git Operations
247
+
248
+ | Key | Action |
249
+ |-----|--------|
250
+ | `G` | Show git status for current directory |
251
+ | `H` | Cryptographic hash of directory tree |
252
+
253
+ **Hash feature:**
254
+ - First run: Creates hash
255
+ - Subsequent runs: Compares and reports changes
256
+
257
+ ## OpenAI Integration
258
+
259
+ | Key | Action |
260
+ |-----|--------|
261
+ | `I` | Get AI description of file |
262
+ | `Ctrl-a` | Start AI chat session |
263
+
264
+ **Requirements:**
265
+ - `ruby-openai` gem installed
266
+ - API key in config: `@ai = "sk-..."`
267
+
268
+ **Chat features:**
269
+ - Persistent context during RTFM session
270
+ - Specialized for file/directory questions
271
+ - Press ESC to exit chat
272
+
273
+ ## System Operations
274
+
275
+ | Key | Action |
276
+ |-----|--------|
277
+ | `S` | Show comprehensive system info |
278
+ | `e` | Show detailed file properties |
279
+ | `=` | Create new directory |
280
+ | `X` | Compare two tagged files |
281
+ | `Ctrl-n` | Invoke navi cheatsheet tool |
282
+
283
+ ## Command Mode
284
+
285
+ | Key | Action |
286
+ |-----|--------|
287
+ | `:` | Enter command mode |
288
+ | `;` | Show command history |
289
+ | `@` | Enter Ruby debug mode |
290
+ | `+` | Add program to interactive whitelist |
291
+
292
+ ### Command Mode Features
293
+
294
+ **Execute commands:**
295
+ ```
296
+ :ls -la
297
+ :git status
298
+ :grep -r pattern .
299
+ ```
300
+
301
+ **Force interactive mode:**
302
+ ```
303
+ :§htop # Full-screen htop
304
+ :§vim file # Full-screen vim
305
+ ```
306
+
307
+ **Output:** Displayed in right pane
308
+
309
+ ## Ruby Debug Mode
310
+
311
+ Press `@` to enter Ruby REPL:
312
+
313
+ ```ruby
314
+ # Inspect variables
315
+ puts @selected
316
+ puts @tagged.inspect
317
+ puts @marks
318
+
319
+ # Execute Ruby code
320
+ Dir.pwd
321
+ @files.size
322
+ ```
323
+
324
+ Useful for plugin development and debugging.
325
+
326
+ ## Remote Mode Keys
327
+
328
+ (Only active when in remote mode - press `Ctrl-e`)
329
+
330
+ | Key | Action |
331
+ |-----|--------|
332
+ | `Ctrl-e` | Toggle remote mode |
333
+ | `↑` `↓` | Navigate files |
334
+ | `←` `h` | Parent directory |
335
+ | `→` `ENTER` | Show file info |
336
+ | `d` | Download file |
337
+ | `u` | Upload tagged files |
338
+ | `s` | Open SSH shell |
339
+
340
+ ## Special Key Combinations
341
+
342
+ ### Multi-Key Sequences
343
+
344
+ | Sequence | Action |
345
+ |----------|--------|
346
+ | `m` → letter | Set bookmark |
347
+ | `'` → letter | Jump to bookmark |
348
+ | `m` → `-` → letter | Delete bookmark |
349
+ | `Ctrl-t` → pattern | Tag by pattern |
350
+
351
+ ### Contextual Keys
352
+
353
+ Some keys behave differently based on context:
354
+
355
+ **`d` key:**
356
+ - Local mode: Delete
357
+ - Remote mode: Download
358
+
359
+ **`→` key:**
360
+ - On directory: Enter directory
361
+ - On file: Open file
362
+ - Remote mode: Show file info
363
+
364
+ **`Ctrl-y` key:**
365
+ - On image: Copy image to clipboard
366
+ - On text: Copy right pane text
367
+
368
+ ## Quick Reference Card
369
+
370
+ ![Keyboard cheat sheet](../img/rtfm-kb.png)
371
+
372
+ ## Customization
373
+
374
+ All keys can be remapped in `~/.rtfm/plugins/keys.rb`
375
+
376
+ Example:
377
+ ```ruby
378
+ # Swap j and k
379
+ KEYMAP['j'] = :move_up
380
+ KEYMAP['k'] = :move_down
381
+ ```
382
+
383
+ See [Plugins Guide](plugins.md) for details.
384
+
385
+ ---
386
+
387
+ [← Remote Browsing](remote-browsing.md) | [Next: Plugins →](plugins.md)