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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +174 -0
- data/README.md +633 -628
- data/bin/rtfm +1 -1
- data/docs/configuration.md +397 -0
- data/docs/faq.md +436 -0
- data/docs/getting-started.md +276 -0
- data/docs/keyboard-reference.md +387 -0
- data/docs/plugins.md +649 -0
- data/docs/remote-browsing.md +425 -0
- data/docs/troubleshooting.md +639 -0
- data/examples/rtfm.conf +280 -0
- data/man/rtfm.1 +361 -0
- metadata +13 -3
|
@@ -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
|
+

|
|
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)
|