I just remembered hyprland has Submaps now, so i made a small vim-like submap that you can enter with the keybind specified by $VimEnter like so:
$VimEnter = SUPER, I
source = vim_mode.conf
So you can enter vim mode with Win+I
vim_mode.conf source:
# PLEASE SET $VimEnter before sourcing this file
bind = $VimEnter, submap, vim
submap = vim
# Press escape to quit vim mode
bind = , escape, submap, reset
# Useful binds
bind = , q, exec, kitty
bind = , d, killactive
bind = , e, fullscreen
bind = , f, togglefloating
# Screenshot
bind = , s, exec, hyprshot $ScreenshotFlags -m output
bind = SHIFT, s, exec, hyprshot $ScreenshotFlags -m region
# Move focus with "hjkl"
bind = , h, movefocus, l
bind = , j, movefocus, d
bind = , k, movefocus, u
bind = , l, movefocus, r
# Completely ignore anything else
bind = , catchall, exec, echo
submap = reset
#
Super HJKL move focus [x]
Super Alt move window [x]
Super CTRL alt resize [x]
super shift move to deskpt
Super Alt Shift mov window to desktop