From a21e44c15566be51dc76085d473259ada1ba4a1c Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Tue, 1 Sep 2015 11:46:54 +0200 Subject: [PATCH] Add escape sequences for arrows in some linux VTs Why this is only in some, I don't know, but these don't seem to interfere with anything. Fixes #2309 --- share/functions/fish_default_key_bindings.fish | 6 ++++++ share/functions/fish_vi_key_bindings.fish | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/share/functions/fish_default_key_bindings.fish b/share/functions/fish_default_key_bindings.fish index c1e5719be..daaea6469 100644 --- a/share/functions/fish_default_key_bindings.fish +++ b/share/functions/fish_default_key_bindings.fish @@ -21,6 +21,12 @@ function fish_default_key_bindings -d "Default (Emacs-like) key bindings for fis bind $argv -k down down-or-search bind $argv -k up up-or-search + # Some linux VTs output these (why?) + bind $argv \eOA up-or-search + bind $argv \eOB down-or-search + bind $argv \eOC forward-char + bind $argv \eOD backward-char + bind $argv \e\[C forward-char bind $argv \e\[D backward-char bind $argv -k right forward-char diff --git a/share/functions/fish_vi_key_bindings.fish b/share/functions/fish_vi_key_bindings.fish index 7d907187a..202c2d48a 100644 --- a/share/functions/fish_vi_key_bindings.fish +++ b/share/functions/fish_vi_key_bindings.fish @@ -22,6 +22,11 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish' bind l forward-char bind \e\[C forward-char bind \e\[D backward-char + + # Some linux VTs output these (why?) + bind \eOC forward-char + bind \eOD backward-char + bind -k right forward-char bind -k left backward-char bind -m insert \n execute @@ -57,6 +62,8 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish' bind \e\[B down-or-search bind -k down down-or-search bind -k up up-or-search + bind \eOA up-or-search + bind \eOB down-or-search bind b backward-word bind B backward-bigword @@ -177,6 +184,12 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish' bind -M insert -k down down-or-search bind -M insert -k up up-or-search + # Some linux VTs output these (why?) + bind -M insert \eOA up-or-search + bind -M insert \eOB down-or-search + bind -M insert \eOC forward-char + bind -M insert \eOD backward-char + bind -M insert \e\[C forward-char bind -M insert \e\[D backward-char bind -M insert -k right forward-char @@ -214,6 +227,8 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish' bind -M visual \e\[D backward-char bind -M visual -k right forward-char bind -M visual -k left backward-char + bind -M insert \eOC forward-char + bind -M insert \eOD backward-char bind -M visual h backward-char bind -M visual l forward-char