Overview
This configuration uses Super (Windows/Command key) as the main modifier key. Fish shell is configured with VI mode keybindings for command-line editing.Hyprland Keybindings
Application Launchers
| Keybinding | Action | Application |
|---|---|---|
Super + Shift + Return | Launch terminal | Kitty |
Super + P | Application launcher | Rofi |
Super + E | File manager | Nautilus |
Super + Shift + N | Code editor | VS Code Insiders |
Super + Shift + O | Note taker | Obsidian |
Super + Shift + P | Web browser | Zen Browser |
Window Management
| Keybinding | Action |
|---|---|
Super + Shift + C | Kill active window |
Super + Shift + Q | Exit Hyprland |
Super + Alt + F | Toggle floating mode |
Super + Shift + T | Toggle split direction |
Super + R | Pseudo tile mode |
Alt + Tab | Focus current or last window |
Window Focus (VI-style)
| Keybinding | Direction |
|---|---|
Super + H | Focus up |
Super + J | Focus right |
Super + G | Focus down |
Super + F | Focus left |
Window Movement
| Keybinding | Direction |
|---|---|
Super + Shift + H | Move window up |
Super + Shift + J | Move window right |
Super + Shift + G | Move window down |
Super + Shift + F | Move window left |
Window Resizing
| Keybinding | Action |
|---|---|
Super + Ctrl + H | Resize left (-20px) |
Super + Ctrl + L | Resize right (+20px) |
Super + Ctrl + K | Resize up (-20px) |
Super + Ctrl + J | Resize down (+20px) |
Workspaces
Switch to workspace:Super + [1-9,0]- Switch to workspace 1-10
Super + Shift + [1-9,0]- Move active window to workspace 1-10
Super + S- Toggle scratchpad visibilitySuper + Shift + S- Move window to scratchpad
Super + Mouse Wheel Up- Next workspaceSuper + Mouse Wheel Down- Previous workspace
Multi-Monitor
| Keybinding | Action |
|---|---|
Super + Alt + F | Move workspace to left monitor |
Super + Alt + J | Move workspace to right monitor |
Super + Alt + H | Move workspace to monitor above |
Super + Alt + G | Move workspace to monitor below |
System Controls
| Keybinding | Action |
|---|---|
Super + V | Clipboard history (Rofi) |
Super + Shift + V | Volume control (pavucontrol) |
Super + B | Toggle Waybar visibility |
Print | Screenshot (area select) |
Media Keys
| Key | Action |
|---|---|
XF86AudioRaiseVolume | Volume up 5% |
XF86AudioLowerVolume | Volume down 5% |
XF86AudioMute | Toggle mute |
XF86AudioMicMute | Toggle mic mute |
XF86MonBrightnessUp | Brightness up 10% |
XF86MonBrightnessDown | Brightness down 10% |
XF86AudioNext | Next track |
XF86AudioPrev | Previous track |
XF86AudioPlay/Pause | Play/pause |
Mouse Bindings
| Binding | Action |
|---|---|
Super + Left Click + Drag | Move window |
Super + Right Click + Drag | Resize window |
Customizing Hyprland Keybindings
Location
~/.config/hypr/modules/keybindings.conf
Syntax
Examples
Launch an application:Available Modifiers
SUPER/SUPER_L/SUPER_R- Windows/Command keyALT/ALT_L/ALT_R- Alt keyCTRL/CONTROL- Control keySHIFT- Shift key
SUPER SHIFT, CTRL ALT
Disabling Keybindings
Comment out lines with#:
Fish Shell Keybindings
VI Mode
The configuration uses VI keybindings in insert mode:VI Mode Keys
Normal mode (press Esc in command line):| Key | Action |
|---|---|
h | Move cursor left |
l | Move cursor right |
b | Move word backward |
w | Move word forward |
0 | Move to line start |
$ | Move to line end |
dd | Delete line |
d$ | Delete to end of line |
dw | Delete word |
i | Enter insert mode |
a | Enter insert mode (after cursor) |
A | Enter insert mode (end of line) |
v | Visual mode |
/ | Search command history |
- Type normally
- Press
Escto enter normal mode Ctrl + C- Cancel current lineCtrl + D- Exit shell
Switching to Emacs Mode
For traditional bash-style keybindings:Custom Fish Keybindings
Create custom bindings inconfig.fish:
Fish Cursor Style
Customize cursor appearance:Tool Integration Keybindings
Tmux
If using tmux with this configuration, you may want to coordinate prefix keys:Neovim
Neovim keybindings are separate and configured in~/.config/nvim/. VI mode in Fish provides consistent muscle memory.
Quick Reference Card
Most Used Keybindings
Adding to Your Setup
- Edit keybindings:
~/.config/hypr/modules/keybindings.conf - Reload Hyprland:
Super + Shift + Q(logout) then log back in, or reload config - Test binding: Try your new keybinding
- Check conflicts: Make sure your new binding doesn’t conflict with existing ones
Troubleshooting
Keybinding Not Working
- Check for conflicts with other bindings
- Verify the application is installed:
- Test the command directly:
- Check Hyprland logs:
Finding Key Names
Runwev or xev to see key names as you press them: