假设您已在终端仿真器中输入以下命令:
sudo apt-get apple pie install hamster
你运行它并意识到自己脑子一片空白。你将包名称apple
和pie
放在 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