Navigation & Keyboard Shortcuts
S9S follows vim-style navigation patterns, making it intuitive for terminal power users. This guide covers all keyboard shortcuts and navigation methods.
🎮 Navigation Philosophy
S9S uses a modal interface inspired by vim:
- Normal mode - Navigate and execute commands
- Search mode - Filter and find items
- Command mode - Enter advanced commands
- Selection mode - Select multiple items
🔑 Global Shortcuts
These shortcuts work in all views:
Essential Keys
Key | Action | Description |
---|
| Help | Show context-sensitive help |
| Quit | Exit S9S |
| Force Quit | Exit immediately without confirmation |
| Command Mode | Enter command mode |
| Search | Enter search/filter mode |
| Cancel | Exit current mode/dialog |
| Next View | Cycle to next view |
| Previous View | Cycle to previous view |
View Navigation
Key | Action | View |
---|
| Switch View | Jobs |
| Switch View | Nodes |
| Switch View | Partitions |
| Switch View | Users |
| Switch View | Accounts |
| Switch View | QoS |
| Switch View | Reservations |
| Switch View | Dashboard |
| Switch View | Health |
Movement
Key | Action | Description |
---|
or | Down | Move cursor down |
or | Up | Move cursor up |
or | Left | Move left/collapse |
or | Right | Move right/expand |
| Top | Go to first item |
| Bottom | Go to last item |
| Page Down | Scroll down one page |
| Page Up | Scroll up one page |
| Half Page Down | Scroll down half page |
| Half Page Up | Scroll up half page |
Selection
Key | Action | Description |
---|
| Toggle Selection | Select/deselect current item |
| Visual Mode | Enter visual selection mode |
| Select All | Select all visible items |
| Select All | Alternative select all |
| Clear Selection | Deselect all items |
📋 View-Specific Shortcuts
Jobs View
Key | Action | Description |
---|
| Expand/Details | Show job details |
| Cancel | Cancel selected job(s) |
| Hold | Hold selected job(s) |
| Release | Release held job(s) |
| Delete | Delete job record |
| Output | View job output/logs |
| Full Output | View complete output in pager |
| Edit | Modify job parameters |
| Submit | Submit new job |
| Submit Template | Submit from template |
| Tail | Tail job output |
| Info | Detailed job information |
| Priority | Change job priority |
| Move | Move to different partition |
| Notify | Set up job notifications |
| Batch | Enter batch operations mode |
| Filter Preset | Apply saved filter |
| Save Filter | Save current filter |
| Export | Export job data |
| Requeue | Requeue failed job |
| Dependencies | View job dependencies |
| Timeline | View job timeline |
Nodes View
Key | Action | Description |
---|
| Details | Show node details |
| SSH | SSH to selected node |
| SSH (new window) | SSH in new terminal |
| Drain | Drain node |
| Drain (reason) | Drain with reason |
| Resume | Resume/undrain node |
| Reboot | Reboot node |
| Power | Power management |
| Info | Detailed node info |
| Maintenance | Set maintenance mode |
| History | Node history |
| GPU Info | Show GPU details |
| Load | Show node load |
| Temperature | Show temperatures |
| Export | Export node data |
Partitions View
Key | Action | Description |
---|
| Details | Show partition info |
| Jobs | Show jobs in partition |
| Nodes | Show nodes in partition |
| Edit | Edit partition config |
| State | Change partition state |
| Limits | View/edit limits |
| QoS | Associated QoS |
| Accounts | Allowed accounts |
Dashboard View
Key | Action | Description |
---|
| Refresh | Force refresh |
| Auto-refresh | Toggle auto-refresh |
| Increase Rate | Faster refresh |
| Decrease Rate | Slower refresh |
| Customize | Customize dashboard |
| Add Widget | Add new widget |
| Remove Widget | Remove widget |
| Move Widget | Rearrange widgets |
🔍 Search Mode
Enter search mode with
:
Basic Search
/keyword # Simple text search
/RUNNING # Find all running items
/gpu # Find GPU-related items
Advanced Search Syntax
# Field-specific search
/user:alice # Items by user alice
/state:PENDING # Pending items
/name:analysis # Items with 'analysis' in name
# Operators
/time:>1h # Running time > 1 hour
/nodes:<=4 # Using <= 4 nodes
/priority:>=1000 # Priority >= 1000
# Compound searches
/user:bob state:RUNNING # Bob's running items
/partition:gpu nodes:>2 # GPU partition, >2 nodes
# Regex search
/name:~"test.*2023" # Regex pattern
/output:~"error|fail" # Find errors
# Time ranges
/time:1h-2h # Between 1-2 hours
/submit:<1d # Submitted < 1 day ago
Search Navigation
Key | Action | Description |
---|
| Apply | Apply search filter |
| Cancel | Cancel search |
| Clear | Clear search box |
| Autocomplete | Complete search term |
| History | Browse search history |
| Regex Mode | Toggle regex mode |
| Case Mode | Toggle case sensitivity |
💬 Command Mode
Enter command mode with
:
Common Commands
:help [topic] # Show help
:quit or :q # Quit S9S
:write or :w # Save current state
:view <name> # Switch to view
:refresh or :r # Force refresh
:clear # Clear filters
:export <format> # Export data
:set <option> <value> # Set option
:source <file> # Load commands from file
:!<shell-command> # Execute shell command
View Management
:split # Split view horizontally
:vsplit # Split view vertically
:close # Close current pane
:only # Close all other panes
:resize +10 # Increase pane size
:resize -10 # Decrease pane size
Settings Commands
:set refresh 5s # Set refresh interval
:set theme dark # Change theme
:set confirm off # Disable confirmations
:set columns <list> # Set visible columns
:show settings # Display all settings
⚡ Advanced Navigation
Multi-Pane Navigation
Key | Action | Description |
---|
| Left Pane | Move to left pane |
| Down Pane | Move to pane below |
| Up Pane | Move to pane above |
| Right Pane | Move to right pane |
| Next Pane | Cycle through panes |
| Split Horizontal | Create horizontal split |
| Split Vertical | Create vertical split |
| Close Pane | Close current pane |
| Only Pane | Close other panes |
Bookmarks
Key | Action | Description |
---|
| Set Mark | Set bookmark |
| Go to Mark | Jump to bookmark |
| List Marks | Show all bookmarks |
| Delete Mark | Remove bookmark |
Macros
Key | Action | Description |
---|
| Record Macro | Start recording |
| Stop Recording | End recording |
| Play Macro | Execute macro |
| Repeat Macro | Repeat last macro |
| List Macros | Show all macros |
🎯 Tips & Tricks
Efficiency Tips
- Use number prefixes: moves down 5 lines
- Combine movements: → top, → bottom
- Quick filters: + partial text + for autocomplete
- Repeat commands: repeats last action
- Quick escape: works like
Power User Workflows
# Cancel all failed jobs
/state:FAILED # Filter failed jobs
V # Select all visible
c # Cancel selected
y # Confirm
# SSH to GPU node
2 # Switch to nodes view
/gpu # Filter GPU nodes
s # SSH to selected
# Export running jobs
/state:RUNNING # Filter running
:export csv # Export to CSV
Custom Key Bindings
Create custom bindings in
:
keybindings:
global:
"ctrl+j": "view jobs"
"ctrl+n": "view nodes"
"ctrl+/": "search"
jobs:
"K": "cancel --force"
"H": "hold --reason='Manual hold'"
"X": "export csv --file=jobs.csv"
🚀 Next Steps