You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux Ubuntu的bash中配置PowerShell风格的文本选择快捷键?

在Bash中配置PowerShell风格的文本选择快捷键

要在Ubuntu的Bash中实现你习惯的PowerShell文本选择操作,分两种场景处理:终端模拟器层面的可视化选中和Bash内部的命令行文本操作(基于GNU Readline),以下是具体配置方法:

一、终端模拟器层面(推荐,贴近PowerShell可视化选中体验)

Ubuntu默认使用GNOME Terminal,你可以直接修改它的快捷键匹配PowerShell习惯:

  1. 打开GNOME Terminal的设置:点击右上角菜单 → Preferences
  2. 切换到Shortcuts标签页,找到Text Selection分组:
    • 逐个字符向左选中:设置为 Shift+Left(默认可能已匹配,无需修改)
    • 逐个单词向左选中:设置为 Ctrl+Shift+Left(默认通常也是这个,确认即可)
    • 复制选中文本:将默认的 Ctrl+Shift+C 修改为 Ctrl+C
    • 剪切选中文本:将默认的 Ctrl+Shift+X 修改为 Ctrl+X

注意:修改Ctrl+C为复制后,原有的“中断命令”功能会被覆盖,若需要保留中断功能,可以将其绑定到其他快捷键(比如Ctrl+Break),或者改用下面的Bash内部配置方案。

二、Bash内部(基于GNU Readline,无可视化选中但保留命令中断功能)

Bash依赖GNU Readline处理命令行输入,通过配置~/.inputrc文件,用Readline的**标记(mark)**功能模拟选中状态,同时保留Ctrl+C的中断功能:

  1. 创建/编辑~/.inputrc文件:
    nano ~/.inputrc
    
  2. 添加以下配置(适配GNOME Terminal的快捷键序列,其他终端需自行调整序列):
    # 逐个字符向左选中(Shift+Left)
    "\e[1;2D": "\C-@\e[D"
    # 逐个字符向右选中(Shift+Right)
    "\e[1;2C": "\C-@\e[C"
    
    # 逐个单词向左选中(Ctrl+Shift+Left)
    "\e[1;6D": "\C-@\e[1;5D"
    # 逐个单词向右选中(Ctrl+Shift+Right)
    "\e[1;6C": "\C-@\e[1;5C"
    
    # 删除选中的文本:有选中时删除区域,否则正常退格
    "\C-h": 'if [[ "$READLINE_MARK" != "$READLINE_POINT" ]]; then kill-region; else backward-delete-char; fi'
    
    # 复制选中的文本:有选中时复制区域,否则执行原Ctrl+C(中断命令)
    "\C-c": 'if [[ "$READLINE_MARK" != "$READLINE_POINT" ]]; then copy-region-as-kill; else "\C-c"; fi'
    
    # 剪切选中的文本:有选中时剪切区域,否则执行原Ctrl+X操作
    "\C-x": 'if [[ "$READLINE_MARK" != "$READLINE_POINT" ]]; then kill-region; else "\C-x"; fi'
    
  3. 保存文件后,重启Bash或执行以下命令生效:
    bind -f ~/.inputrc
    

若你的终端模拟器发送的快捷键序列不同(比如Konsole),可以通过cat命令测试:运行cat后按下对应快捷键,终端会输出该快捷键的字符序列,替换配置中的对应部分即可。

内容的提问来源于stack exchange,提问作者Gwhyyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:07:17