dotfiles/tools/fish/conf.d/keymap.fish
2025-01-28 14:26:25 +00:00

71 lines
1.7 KiB
Fish

# $DOTFILES/tools/fish/conf.d/keymap.fish
# Date: 2024-12-22
# Author: js0ny
# Location:
# ~/.config/fish/conf.d/keymap.fish
# Linking: Link the whole directory for submodules
# ln -sf $DOTFILES/tools/fish ~/.config/fish
# read key: `fish_key_reader`
# get current bindings: `bind`
fish_vi_key_bindings
# Colemak hnei
# ^
# e
# < h i >
# n
# v
# bind -M default 'h' backward-char
bind -M default n down-or-search
bind -M default e up-or-search
bind -M default i forward-char
# Similar position to [i] in QWERTY
bind -M default -m insert l repaint-mode
bind -M default -m insert L beginning-of-line repaint-mode
# Ne{[k]s}t -> fish doesnt have this feature
# [J]ump
bind -M default j forward-word
bind -M default J forward-bigword
# Use N to Join
bind -M default N end-of-line delete-char
# Emacs Hybrid
bind -M default \cp up-or-search
bind -M default \cn down-or-search
bind -M default \cf forward-char
bind -M default \cb backward-char
bind -M default \ca beginning-of-line
bind -M default \ce end-of-line
bind -M default \ck kill-line
bind -M insert \cp up-or-search
bind -M insert \cn down-or-search
bind -M insert \cf forward-char
bind -M insert \cb backward-char
bind -M insert \ca beginning-of-line
bind -M insert \ce end-of-line
bind -M insert \ck kill-line
bind -M insert \cw backward-kill-path-component
# ctrl + backspace
bind -M insert \b backward-kill-path-component
# alt + backspace
bind -M insert \e\x7F backward-kill-line
# ctrl + delete
bind -M insert \e\[3\;5~ kill-word
# alt + delete (d$)
bind -M insert \e\[3\;3~ kill-line
fzf --fish | source
# C-r : fzf history search
# C-t : fzf file search
# A-c : fzf directory search