从 bash 输入中剪切出区域

从 bash 输入中剪切出区域

假设您已在终端仿真器中输入以下命令:

sudo apt-get apple pie install hamster

你运行它并意识到自己脑子一片空白。你将包名称applepie放在 install 子命令之前。在这种情况下,你可以通过以下命令重新格式化命令以使其正确:

C-p M-b M-b C-k M-b M-b C-y SPC

或者你可以观看asciinema 上的这段录音

但是,可能还有另一种方法来解决这个问题:不是切掉命令的最后一部分并将其放在中间(这仅在某些情况下可行),而是可以选择周围的区域apple pie并将其切掉。

所以我的问题很简单:是否可以像在 emacs 中一样选择一个区域进行剪切和粘贴?

答案1

事实证明,READLINE 库中有一个函数可以实现这一点,其名称与 emacs 中的等效函数相同。kill-region但为了使用该键,我们首先必须将其与其他地方定义的函数解除绑定:

stty werase undef

然后我们可以根据需要将键绑定到函数:

bind '"\C-w":kill-region'

答案2

其他用户一个真正的编辑即可set -o vi使用。例如 d2w$p

相关内容