Fish Shell 自然选择快捷键:实现选中内容删除功能求助
Fish Shell 实现选中内容感知的退格键
要删除Fish Shell中当前选中的文本,你可以使用Fish内置的kill-selection命令行函数,通过commandline -f调用它即可实现需求。
修改后的完整函数代码如下:
function selection_aware_backspace set -l cmdline if isatty stdin set cmdline (commandline --current-selection | string collect) end # 若有选中内容则删除全部选中内容,否则执行backward-delete-char if test -n "$cmdline" commandline -f kill-selection else commandline -f backward-delete-char end end
关键说明
commandline -f kill-selection是Fish原生提供的操作,专门用于清除命令行中当前选中的文本,完全匹配你需要的“删除选中内容”的逻辑。- 保留你原有的选中内容检测逻辑,当存在选中文本时执行批量删除,无选中时退格删除单个字符,和预期行为完全一致。
如果需要重新绑定退格键,执行以下命令:
bind -k bs selection_aware_backspace
内容的提问来源于stack exchange,提问作者Ahmad Ismail
相关产品推荐
相关产品推荐

