V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mrleft
V2EX  ›  macOS

OSX 终端 bash 快捷键用法

  •  
  •   mrleft · 2016-03-12 19:35:15 +08:00 · 3635 次点击
    这是一个创建于 3176 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Mac OSX 终端( Terminal )默认不开启 alt 键
    按如下步骤设置 终端->偏好设置->描述文件->键盘
    选中“使用 Option 键作为 Meta 键”

    命令编辑

    • Ctrl + a –到行首
    • Ctrl + e – 到行末
    • Ctrl + k – 删到行末
    • Ctrl + u – 删到行首
    • Ctrl + w –删到词首
    • Ctrl + y –粘贴到光标处
    • Ctrl + xx – 在行首和光标处切换
    • Alt + b – 光标向行首移动一词 (或者当前词首)
    • Alt + f – 光标向行末移动一词 (或者当前词末)
    • Alt + d – 删除到词末
    • Alt + c – 当前字母转大写 光标转到词末
    • Alt + u –到词末转大写字母
    • Alt + l –到词末转小写字母
    • Alt + t – 当前词与前词互换
    • Ctrl + f – 后移一字符
    • Ctrl + b – 前移一字符
    • Ctrl + d – 删除光标后一字符
    • Ctrl + h – 删除光标前一字符
    • Ctrl + t – 光标后字符与前一字符互换

    命令记忆

    • Ctrl + r – 在历史命令中搜索
    • Ctrl + g – 跳出搜索模式
    • Ctrl + p – 历史中上一个命令
    • Ctrl + n –历史中下一个命令
    • Alt + . – 输入上个命令的最后一词

    控制命令

    • Ctrl + l – 清空屏幕
    • Ctrl + s – 停止输出至屏幕
    • Ctrl + q – 继续输出至屏幕(与 Ctrl + s 命令对应)
    • Ctrl + c – 终止命令
    • Ctrl + z – 挂起/结束命令

    Bash Bang (!) 命令

    • !! – 运行上一命令
    • !blah –运行上一含有‘ blah ’的命令 (e.g. !ls)
    • !blah:p – 预览 !blah  匹配的命令(同时作为上一命令)
    • !$ – 上个命令的最后一词 (类似 Alt + .)
    • !$:p –预览 !$ 匹配值(同时作为上一命令)
    • !* – 不含最后一词的上个命令 (e.g. 如上一命令 ‘ find some_file.txt /‘, !* 返回‘ some_file.txt / ‘)
    • !*:p – 预览 !* 匹配值(同时作为上一命令)

    特殊命令

    • ^^ 替换命令
      上一命令 'ls -al'
      输入 '^-al^-lash'
      执行 'ls -lash'

    翻译自原文

    第 1 条附言  ·  2016-03-12 20:43:56 +08:00

    !* 还是错了 应该是不含第一次的上一命令

    原文应该写错了
    ```
    !* – the previous command except for the last word (e.g. if you type ‘ find some_file.txt /‘, then !* would give you ‘ find some_file.txt ‘)

    9 条回复    2016-03-13 09:58:32 +08:00
    lightening
        1
    lightening  
       2016-03-12 20:49:19 +08:00
    补充一下, Ctrl 系列光标移动命令在 OS X 中任何可以输入文字的地方都可以使用。
    pagict
        2
    pagict  
       2016-03-12 20:57:31 +08:00 via iPhone
    然而还是用 zsh 更爽😄
    rcmerci
        3
    rcmerci  
       2016-03-12 21:03:20 +08:00
    大部分键位和 emacs 是一样的
    znoodl
        4
    znoodl  
       2016-03-12 21:05:16 +08:00
    @lightening 其实就是 emacs 模式
    zander
        5
    zander  
       2016-03-12 21:32:11 +08:00
    Ctrl + k – 删到行末
    Ctrl + u – 删到行首
    Ctrl + w –删到词首

    这三个其实是 剪切。
    napsterwu
        6
    napsterwu  
       2016-03-12 22:10:27 +08:00
    我一直在找有没有按词为单位左右移动的办法 可惜在这里看的 Alt+b/f 按出来的还是∫和ƒ
    mrleft
        7
    mrleft  
    OP
       2016-03-12 22:25:05 +08:00
    @napsterwu 第一段 改 alt 键
    antiagainst
        8
    antiagainst  
       2016-03-13 04:16:27 +08:00
    @pagict: +1

    zsh 开 vim mode ,世界变得和谐了.
    acoada
        9
    acoada  
       2016-03-13 09:58:32 +08:00
    @antiagainst bash 下 set -o vi 试试看?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 871ms · UTC 05:43 · PVG 13:43 · LAX 21:43 · JFK 00:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.