⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remap_keys.bash

📁 UNIX下SH的实现源码
💻 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 + -