ychaouche Asked: 2023-03-05 18:30:09 +0800 CST2023-03-05 18:30:09 +0800 CST 2023-03-05 18:30:09 +0800 CST 如何在命令行中删除一个区域? 772 刚刚才知道命令行是有标记的,就像emacs一样。但是,与 emacs 不同的是, C-w它不会删除该区域,它只会向后删除一个单词。readline这有等价物吗? keyboard-shortcuts 1 个回答 Voted Best Answer Stéphane Chazelas 2023-03-05T18:41:34+08:002023-03-05T18:41:34+08:00 在 readline 和 zsh 中,这是kill-region与 emacs 或 tcsh 中相同的小部件,但默认情况下不受约束,因为与 tcsh 相反,它们都选择与tty 设备行规程^W保持一致。werase 请info bash kill-region参阅 zsh 中的 bash/readline info zsh kill-region。 要将其绑定到^W, 在 zsh 中(如在 tcsh 中): bindkey '^W' kill-region 在 zsh 中(就像在 tcsh 中一样)。 在 bash 中,您需要首先配置行规程以使用不同的字符werase或禁用werasealtoger(但是您将无法从 tty 自己的行编辑器中删除单词): stty werase '^O' # or: stty werase '' # disable bind '"\C-w": kill-region' 或添加"\C-w": kill-region到您的~/.inputrc代码中以影响所有使用 readline 的应用程序。那有同样的限制;werase必须在 readline 初始化之前更改为其他内容,因此在 bash 的情况下,在 bash 启动之前。
在 readline 和 zsh 中,这是
kill-region
与 emacs 或 tcsh 中相同的小部件,但默认情况下不受约束,因为与 tcsh 相反,它们都选择与tty 设备行规程^W
保持一致。werase
请
info bash kill-region
参阅 zsh 中的 bash/readlineinfo zsh kill-region
。要将其绑定到
^W
, 在 zsh 中(如在 tcsh 中):在 zsh 中(就像在 tcsh 中一样)。
在 bash 中,您需要首先配置行规程以使用不同的字符
werase
或禁用werase
altoger(但是您将无法从 tty 自己的行编辑器中删除单词):或添加
"\C-w": kill-region
到您的~/.inputrc
代码中以影响所有使用 readline 的应用程序。那有同样的限制;werase
必须在 readline 初始化之前更改为其他内容,因此在 bash 的情况下,在 bash 启动之前。