bind fzf shortcuts to fish commandline

This commit is contained in:
Noah Masur 2021-05-04 09:47:58 -04:00
parent e142382c44
commit 33ab04ffeb
4 changed files with 20 additions and 8 deletions

View File

@ -590,10 +590,13 @@ shell:
# in the order they were defined in. # in the order they were defined in.
key_bindings: key_bindings:
- { key: F, mods: Super, action: ToggleSimpleFullscreen } - { key: F, mods: Super, action: ToggleSimpleFullscreen }
- { key: A, mods: Super, chars: "\x02" } # CMD-A sends CTRL-B for tmux
- { key: D, mods: Super, chars: "\x14" } # CMD-D sends CTRL-T for fzf # Reference for escape codes: https://www.gaijin.at/en/infos/ascii-ansi-character-table
- { key: O, mods: Super, chars: "edit\x0D" } # CMD-O opens file in vim
- { key: R, mods: Super, chars: "recent\x0D" } # CMD-R opens file in vim - { key: A, mods: Super, chars: "\x02" } # CMD-A sends CTRL-B for tmux
- { key: D, mods: Super, chars: "\x14" } # CMD-D sends CTRL-T for fzf
- { key: O, mods: Super, chars: "\x0f" } # CMD-O sends CTRL-O for fish/vim
- { key: R, mods: Super, chars: "\x05" } # CMD-R sends CTRL-E for fish/vim
- { key: Return, mods: Shift, chars: "\x1b[13;2u" } - { key: Return, mods: Shift, chars: "\x1b[13;2u" }
- { key: Return, mods: Control, chars: "\x1b[13;5u" } - { key: Return, mods: Control, chars: "\x1b[13;5u" }

View File

@ -1,5 +1,6 @@
function edit --description "Open a file in Vim" function edit --description "Open a file in Vim"
set vimfile (fzf) set vimfile (fzf)
and vim $vimfile and set vimfile (echo $vimfile | tr -d '\r')
and commandline -r "vim $vimfile"
and commandline -f execute
end end

View File

@ -0,0 +1,6 @@
#!/usr/local/bin/fish
function fish_user_key_bindings
bind -M insert \co 'edit'
bind -M insert \ce 'recent'
end

View File

@ -1,4 +1,6 @@
function recent --description "Open a recent file in Vim" function recent --description "Open a recent file in Vim"
set vimfile (fd --exec stat -f "%m%t%N" | sort -nr | cut -f2 | fzf) set vimfile (fd -t f --exec stat -f "%m%t%N" | sort -nr | cut -f2 | fzf)
and vim $vimfile and set vimfile (echo $vimfile | tr -d '\r')
and commandline -r "vim $vimfile"
and commandline -f execute
end end