📄 remap_keys.bash
字号:
# remap_keybindings.bash# Author: Noah Friedman <friedman@prep.ai.mit.edu># Created: 1992-01-11# Last modified: 1993-02-03# Public domain# Conversion to bash v2 syntax done by Chet Ramey# Commentary:# Code:#:docstring remap_keybindings:# Usage: remap_keybindings old_function new_function## Clear all readline keybindings associated with OLD_FUNCTION (a Readline# function) rebinding them to NEW_FUNCTION (`self-insert' by default)## This requires bash version 1.10 or newer, since previous versions did not# implement the `bind' builtin.#:end docstring:###;;;autoloadfunction remap_keybindings (){ local unbind_function="$1" local bind_function="${2:-'self-insert'}" local bind_output local arg # If they're the same thing, the work has already been done. :-) if [ "${unbind_function}" = "${bind_function}" ]; then return 0 fi while : ; do bind_output="$(bind -q ${unbind_function} 2> /dev/null)" case "${bind_output}" in "${unbind_function} can be invoked via"* ) ;; "" ) return 1 ;; # probably bad argument to bind *) return 0 ;; # unbound esac # Format of bind_output is like: # 'quoted-insert can be invoked via "\C-q", "\C-v".' # 'self-insert can be invoked via " ", "!", """, "$", "%", ...' set -- ${bind_output} shift 5 for arg in "$@" ; do # strip off trailing `.' or `,' arg=${arg%.}; arg=${arg%,}; case ${arg} in ..) # bind -q didn't provide whole list of key bindings; jump # to top loop to get more continue 2 ; ;; *) bind "${arg}: ${bind_function}" ;; esac done done}provide remap_keybindings# remap_keybindings.bash ends here
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -