当前位置: 首页 > ds >正文

linux下快捷删除单词、行的命令

Bash(和大多数终端默认使用的 readline)中的键绑定

注意:Alt 键在部分终端/桌面环境会被截获,这时可以先按 Esc 作为 Meta(Alt)的替代键,再按后续键(例如 Esc + d 相当于 Alt+d)。

一、在 readline(默认 Emacs 风格)下的常用键

  • 光标移动

    • Ctrl+A:跳到行首
    • Ctrl+E:跳到行尾
    • Ctrl+F:向前一个字符(等同 →)
    • Ctrl+B:向后一个字符(等同 ←)
    • Alt+F(Esc then f):向前一个单词
    • Alt+B(Esc then b):向后一个单词
  • 删除 / 杀死 (kill)

    • Ctrl+U:删除(kill)从光标到行首的内容(你之前用到的)
    • Ctrl+K:删除(kill)从光标到行尾的内容(如果在行首,等于是清空整行)
    • Ctrl+W:删除(kill)光标左侧的一个单词(向后删词,基于空白分隔)
    • Alt+D(Esc then d):删除(kill)从光标到下一个单词末尾(向前删词)
    • Ctrl+D:删除光标下的字符(在空行会发送 EOF)
    • Ctrl+H 或 Backspace:删除光标左侧的字符
  • 复制/粘贴(readline 的 kill-ring)

    • Ctrl+Y:粘贴(yank),把最近一次 kill 的内容粘回来
    • M-y(Alt+y,或 Esc then y):在连续粘贴时旋转 kill-ring(类似 yank-pop)
  • 其他有用操作

    • Ctrl+T:交换当前字符与前一个字符(transpose-chars)
    • Alt+T(Esc then t):交换当前单词与前一个单词(transpose-words)
    • Ctrl+_ 或 Ctrl+X Ctrl+U:撤销(undo)
    • Ctrl+L:清屏(等同 clear)

二、举例说明

  • 删除从光标到行尾:按 Ctrl+K
    例如句子 “sudo apt install package”,光标在 “install” 后面,按 Ctrl+K 会删除 " install package"(取决光标位置)。
  • 删除当前光标左侧的单词(比如光标在 “package” 末尾):按 Ctrl+W(会删除 “package”)
  • 删除光标右侧的单词:按 Alt+D(或 Esc then d)

三、在 Bash 使用 vi 模式(如果你习惯 vi 操作)
启用:set -o vi
用法(先按 Esc 回到普通模式,再输入命令):

  • dd:删除整行
  • D 或 d$:删除从光标到行尾
  • d0:删除从光标到行首
  • dw:删除从光标到下一个单词开头(通常到单词边界)
  • db:删除到前一个单词开头
  • x:删除当前字符
  • p:粘贴(put)

回到 emacs 模式:set -o emacs

四、查看/修改当前绑定

  • 查看绑定:
    bind -P | grep ‘kill|yank|delete|transpose’
  • 查看某个命令是哪个键:
    bind -q backward-kill-word
  • 设定自定义绑定示例(把 Alt+Backspace 绑定到 backward-kill-word):
    bind ‘“\e\C-?”: backward-kill-word’

五、常见问题与提示

  • 如果 Alt 组合不起作用,试试 Esc 再按键(Esc 作为 Meta 前缀)。
  • 不同终端或桌面环境(如 GNOME Terminal、Terminator)可能对 Alt/Meta 有不同默认行为,可在终端设置中调整。
  • Ctrl+S / Ctrl+Q 是终端流控,按 Ctrl+S 会“卡住”输出,按 Ctrl+Q 恢复(这不是 readline 的快捷键)。
http://www.xdnf.cn/news/20395.html

相关文章:

  • python中等难度面试题(1)
  • 基于cornerstone3D的dicom影像浏览器 第五章 在Displayer四个角落显示信息
  • C++数据结构命名:从规范到艺术的深度解析
  • CSDN个人博客文章全面优化过程
  • 不同行业视角下的数据分析
  • 计算机二级C语言操作题(填空、修改、设计题)——真题库(17)附解析答案
  • 打开Fiddler,浏览器就不能访问网页了
  • 超细汇总,银行测试-大额存单定期存款测试+面试(一)
  • 深度学习:归一化技术
  • Transformers 学习入门:注意力机制剖析
  • 行业了解05:制造业
  • 新启航开启深孔测量新纪元:激光频率梳技术攻克光学遮挡,达 130mm 深度 2μm 精度
  • Day21_【机器学习—决策树(1)—信息增益、信息增益率、基尼系数】
  • docker-compose跨节点部署Elasticsearch 9.X集群
  • 快速进行光伏设计的好方法!
  • 仓颉编程语言青少年基础教程:布尔类型、元组类型
  • 计算机网络IP协议
  • STM32H7的PA0_C、PA1_C、PC2_C、PC3_C的使用
  • Java线程池的几个常见问题
  • 会员体系搭建咋做?定位目标人群竟有这么多讲究
  • GJOI 9.4 题解
  • Qt---JSON处理体系
  • LeetCode_位运算
  • 安卓学习 之 EditText 控件
  • C/C++中的可变参数 (Variadic Arguments)函数机制
  • Linux学习-硬件(串口通信)
  • 【Android】SQLite使用——增删查改
  • 有哪些AI产品可以真正提高办公和学习效率?
  • 【LeetCode】2749. 得到整数零需要执行的最少操作数
  • 关于无法导入父路径的问题