如何在.bashrc中绑定换行键?
给Bash绑定回车触发自定义命令的方案
直接绑定回车(替代原功能)
如果只想让回车触发capture,覆盖原本提交命令的行为,直接用bind -x绑定回车对应的\C-m序列:
bind -x '"\C-m": capture'
这样按下回车就只会运行capture,不会执行你输入的命令,适合不需要正常提交命令的场景。
保留回车原功能同时触发命令
要兼顾回车提交命令+运行capture,先定义一个包含两个动作的函数:
run_capture_then_submit() { capture accept-line # 这是readline内置函数,负责提交当前命令 }
再绑定回车到这个函数:
bind -x '"\C-m": run_capture_then_submit'
按下回车时,会先执行capture,再提交你输入的命令,不影响正常使用。
针对你示例的换行符绑定
你示例里用到了换行符的绑定,要是想绑定换行符(部分终端回车等价于换行),可以用:
bind -x '"\n": capture; accept-line'
不过更稳妥的还是用\C-m对应回车按键。
永久生效的方法
把上面的函数定义和bind命令加到~/.bashrc里,下次打开终端自动生效。
内容的提问来源于stack exchange,提问作者Daniel Miedema
相关产品推荐
相关产品推荐

