Readline 提供了两种不同的删除单词函数,但似乎都无法配置,而且效果也不理想。我是否可以施展某种魔法,将这两种行为结合起来,得到我想要的结果?
**** Bind ctrl-W to backward-kill-word ****
% the "quick brown" fox
^
% the "quick brown" # 1x
^
% the "quick # 2x
^
% the " # 3x
^
% # 4x
^
不:不明白引用的字符串是一个单词。
**** Bind ctrl-W to shell-backward-kill-word ****
% the "quick brown" fox
^
% the "quick brown" fox # 1x
^
% the "quick brown" # 2x
^
% the # 3x
^
% # 4x
^
不:更接近了,但是坚持将光标定位在前一个单词的正上方,并在与backward-kill-word正确删除整个单词相同的情况下删除一个空格,这使得使用这种方法变得无法容忍。
这是我可能想到的默认行为,但我无法引出它。
% the "quick brown" fox
^
% the "quick brown" # 1x ctrl-W
^
% the # 2x ctrl-W
^
% # 3x ctrl-W
^
编辑:我很高兴地说,我找到了一个可以实现这一点的宏,至少在这个简单的情况下是这样。时间会证明它是否有效。
Meta-w: shell-backward-kill-word
Meta-s: delete-horizontal-space
Control-w: "\M-s\M-w "