aboutsummaryrefslogtreecommitdiff
path: root/ksh
diff options
context:
space:
mode:
Diffstat (limited to 'ksh')
-rw-r--r--ksh/kshrc.d/bind.ksh25
1 files changed, 7 insertions, 18 deletions
diff --git a/ksh/kshrc.d/bind.ksh b/ksh/kshrc.d/bind.ksh
index 22fb53a8..e32b9565 100644
--- a/ksh/kshrc.d/bind.ksh
+++ b/ksh/kshrc.d/bind.ksh
@@ -6,29 +6,18 @@ case $KSH_VERSION in
bind ^L=clear-screen
;;
- # Works pretty well, but only on an empty line
- *'PD KSH'*)
- bind -m '^L'=clear'^J'
- ;;
-
- # Not great; only works on an empty line, and skips a line after clearing;
- # need a better way to redraw the prompt after clearing, or some suitable
- # way to fake it with tput (can I clear-but-one)?
+ # Works great
*'93'*)
-
- # Bind function to run on each KEYBD trap
bind() {
case ${.sh.edchar} in
- $'\x0c') # ^L
-
- # Write a sequence to clear the screen
- tput clear
-
- # Change key to Enter to redraw the prompt
- .sh.edchar=$'\x0d'
- ;;
+ $'\f') .sh.edchar=$'\e\f' ;;
esac
}
trap bind KEYBD
;;
+
+ # Works pretty well, but only on an empty line
+ *'PD KSH'*)
+ bind -m '^L'=clear'^J'
+ ;;
esac