• 转:linux/unix命令行终端的光标及字符控制快捷键


    from:http://linux.chinaunix.net/techdoc/system/2007/11/23/973027.shtml
    在使用linux/unix的命令行终端时,有时候会碰到键盘的退格键、删除键、Home键、方向键等不听使唤的现象:
        按Backspace键,可能冒出来个^?
        按Delete键,却出来个^[[3~
        按Home键,却出来个^[[1~
        按向左箭头键,却出来个^[[D
        ……   
    以下是在大多数shell终端都可以使用的快捷键,可以解决上述光标及字符删除等控制功能。
    ── 曾尝试使用stty解决Home键等问题,未果(可参考:http://www.ifpubs.com/books/aix52/stty0.htm)
    注:如果使用图形环境的伪终端(如gnome-terminal),以下有可能和窗口程序的一部分快捷键产生冲突。
    ****************************************************************************************************
    常用的快捷键:
    Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无任何字符,则相当于exit;处理多行标准输入时也表示eof)
    Ctrl + h        退格删除一个字符,相当于通常的Backspace键
    Ctrl + u        删除光标之前到行首的字符
    Ctrl + k        删除光标之前到行尾的字符
    Ctrl + c        取消当前行输入的命令,相当于Ctrl + Break
    Ctrl + a        光标移动到行首(Ahead of line),相当于通常的Home键
    Ctrl + e        光标移动到行尾(End of line)
    Ctrl + f        光标向前(Forward)移动一个字符位置
    Ctrl + b        光标往回(Backward)移动一个字符位置
    Ctrl + l        清屏,相当于执行clear命令
    Ctrl + p        调出命令历史中的前一条(Previous)命令,相当于通常的上箭头
    Ctrl + n        调出命令历史中的下一条(Next)命令,相当于通常的上箭头
    Ctrl + r        显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
    ****************************************************************************************************
    次常用快捷键:
    Alt + f         光标向前(Forward)移动到下一个单词
    Alt + b         光标往回(Backward)移动到前一个单词
    Ctrl + w        删除从光标位置前到当前所处单词(Word)的开头
    Alt + d         删除从光标位置到当前所处单词的末尾
    Ctrl + y        粘贴最后一次被删除的单词
    ****************************************************************************************************
    附录:  stty命令参考        来源:http://www.ifpubs.com/books/aix52/stty0.htm
    命令参考大全,卷 5,s - u
    stty 命令
    用途
    设置、复位和报告工作站操作参数。
    语法
    stty [ -a ] [ -g ] [ Options ]
    描述
    stty 命令对当前为标准输入的设备设置某些 I/O 选项。该命令将输出写到当前为标准输出的设备中。
    这个操作系统的版本使用标准 《X/Open 可移植性指南,发行版 4》 接口来控制终端,保持与 POSIX 和 BSD 接口的兼容性。stty 命令支持 POSIX 和 BSD 的适应选项,但强烈推荐使用 POSIX 选项。同样提供废弃的 BSD 选项列表(带有对应的 POSIX 选项)。
    输入以下命令时,可以将 tty 设备的标准输入重定向:
    stty -a  l, L  w, W  
    b, B  m, M  x, X  
    c, C  n, N  y, Y  
    d, D  o, O  z, Z  
    e, E  p, P  [  
    f, F  q, Q    
    g, G  r, R  ]  
    h, H  s, S  ^  
    i, I  t, T  _  
    j, J  u, U  ?  
    k, K  v, V  @  
    组合模式   
    cooked 请参阅 -raw 选项。
    ek 分别将 ERASE 和 KILL 字符设置为 Ctrl-H 和 Ctrl-U 按键顺序。
    evenp 启用 parenb 和 cs7。
    -evenp 禁用 parenb 并设置 cs8。
    lcase, LCASE 设置 xcase,iuclc 和 olcuc。在工作站只以大写字符使用。
    -lcase, -LCASE 设置 -xcase、-iuclc 和 -olcuc。
    nl 设置 -icrnl 和 -onlcr。
    -nl 设置 icrnl、 onlcr、-inlcr、-igncr、-ocrnl 和 -onlret。
    oddp 启用 parenb、 cs7 和 parodd。
    -oddp 禁用 parenb 并设置 cs8。
    parity 请参阅 evenp 选项。
    -parity 请参阅 -evenp 选项。
    sane 将参数重新设置为合理的值。
    raw 允许原始模式输入(不包括输入处理,例如 erase、kill 或 interrupt);传回奇偶(校验)位。
    -raw 允许规范输入方式。
    tabs 保留制表符。
    -tabs, tab3 打印时将制表符替换为空格。
    窗口大小   
    cols n, columns n 将终端(窗口)大小记录为有 n 列。
    rows n 将终端(窗口)大小记录为有 n 行。
    size 将终端(窗口)大小打印到标准输出(先是行,再是列)中。
    废弃选项
    stty 命令支持以下 BSD 选项。 对于每个选项,都给出了建议的 POSIX 选项。
    all 使用 stty -a 命令显示所有当前设置。
    crt 使用 sane 选项将参数重新设置为合理的值。
    crtbs 使用 -echoe 选项。
    crterase 使用 echoe 选项。
    -crterase 使用 -echoe 选项。
    crtkill 使用 echoke 选项。
    -crtkill 使用 echok 和 -echoke 选项。
    ctlecho 使用 echoctl 选项。
    -ctlecho 使用 -echoctl 选项。
    decctlq 使用 -ixany 选项。
    -decctlq 使用 ixany 选项。
    even 使用 evenp 选项。
    -even 使用 -evenp 选项。
    everything 使用 stty -a 命令显示所有当前设置。
    litout 使用 -opost 选项。
    -litout 使用 opost 选项。
    odd 使用 oddp 选项。
    -odd 使用 -oddp 选项。
    pass8 使用 -istrip 选项。
    -pass8 使用 istrip 选项。
    prterase 使用 echoprt 选项。
    speed 使用 stty 命令显示当前设置。
    tandem 使用 ixoff 选项。
    -tandem 使用 -ixoff 选项。
    示例
    要显示您的工作站配置的简短列表,请输入:
    stty这将列出与缺省值不同的设置。
    要显示您的工作站配置的完整列表,请输入:
    stty  -a
    要启用按键顺序来停止列表滚动出屏幕,请输入:
    stty ixon ixany这将设置 ixon 模式,从而可以通过按下 Ctrl-S 按键顺序来停止列表的滚动。ixany 标志允许按任意键来恢复列表的滚动。正常的工作站配置包含 ixon 和 ixany 标志,使您可以用 Ctrl-S 按键顺序停止列表的滚动,而只有 Ctrl-Q 按键顺序才能使列表重新滚动。
    要重新设置搞乱的配置,请输入:
    Ctrl-J stty  sane Ctrl-J
    在命令前后按 Ctrl-J 按键顺序,而不是按 Enter 键。当控制 Enter 键处理的参数搞乱时,系统通常能识别 Ctrl-J 按键顺序。
    有时屏幕上显示的信息可能看上去很奇怪,或当您按 Enter 键时系统不反应。当您使用 stty 命令,而它带有不兼容的参数或参数的操作难以理解时,可能会发生这种情况。当面向屏幕的应用程序异常结束并且无法复位工作站配置时,也可能发生这种情况。
    输入 stty sane 命令设置合理的配置,但它可能与您的正常配置略有不同。
    要保存和恢复终端的配置:
    OLDCONFIG=`stty -g`          # save configuration
    stty -echo                   # do not display password
    echo "Enter password: c"
    read PASSWD                  # get the password
    stty $OLDCONFIG              # restore configuration该命令保存工作站的配置、关闭回送信号、读取密码并恢复原始配置。
    输入 stty - echo 命令关闭回送信号,这意味着当您在键盘上输入密码时,密码并不出现在屏幕上。此操作与 echo 命令(该命令在屏幕上显示消息)毫无关系。
    文件
    /usr/bin/stty 包含 stty 命令。
    相关信息
    terminfo 文件、tty 特殊文件 termios.h 头文件。
    AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 TTY Subsystem Overview。
    在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 ldterm Line Discipline。
    AIX 5L Version 5.2 National Language Support Guide and Reference 中的 National Language Support。

  • 相关阅读:
    Spring配置文件中别名的使用
    Spring IOC容器创建对象的方式
    sass安装及使用
    word转html 压缩图片网站
    Yarn 和 Npm 命令行切换 摘录
    react生命周期
    event事件
    Flex 布局
    YYYY-mm-dd HH:MM:SS 时间格式
    页面按钮埋点+跟踪location.search
  • 原文地址:https://www.cnblogs.com/cloudwind2011/p/4081165.html
Copyright © 2020-2023  润新知