linux - 如何在不丢失当前命令的情况下重置终端?

标签 linux bash

我正在尝试创建一个键盘快捷键来重置当前终端。 我正在使用这样的 .inputrc 条目:

"\C-K": 'echo -en "\\033c"\n'

虽然可以,但是我无法在输入命令时执行此操作。

例如,如果我输入这样的命令(光标位于末尾):

$ foobar

然后按CTRL+K,会变成

$ foobarecho -en "\033c""

当然,这是行不通的。 有可能吗?

我想这是可能的,因为这就是 CTRL+L 的作用。 CTRL+L 的唯一问题是它不会清除整个终端,包括历史记录,只是屏幕上的内容。

最佳答案

我不确定如何在 inputrc 中执行此操作,但您可以使用 bind 命令及其 -x 选项来执行此操作。

bind -x '"\C-K": "echo -en \\033c"'

您可以将以上行放在您的 .bashrc 中,它将提供与您使用 CTRL+L 描述的行为相同的行为。

关于linux - 如何在不丢失当前命令的情况下重置终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131346/

相关文章:

linux - 用于在特定文件夹结构中备份修改文件的 Bash 脚本

linux - vCard=$(echo $REPLY | cut -d'i' -f 1) 有什么问题

c - 关于函数和参数的几个问题

linux - 如何在 Mono 中嵌入 flash?

c++ - 终止递归调用

linux - 在第一次出现特定单词后用 sed 替换 - Linux/Ubuntu

bash - 简单的 tmux bash 脚本不起作用

Python sys.stdout 不适用于 init.d 脚本

linux - 如何在不重建的情况下在 Linux 平台上分析程序?

linux - 有谁知道 docker 中无新权限阻止 selinux 转换的解决方法?