在所有 GUI 文本编辑中,ctrl-arrow 会按单词移动光标,按住 shift 会在光标移动时进行选择。因此 ctrl-shift-left 会选择上一个单词。Fish 已经有前者了,但我想实现后者。
我尝试做过类似的事情
bind \[d begin-selection backward-word # \[d is ctrl-shift-left
但问题是它在每次按下键盘时就开始选择,而不是选择其他单词。
此外,我不知道如何将鱼的选择复制到系统范围的键盘。
答案1
在我输入此内容时,任何版本的 fish 都无法实现您尝试执行的操作。该begin-selection
功能旨在绑定到仅启动选择模式的键。您无法在同一个绑定中执行光标移动,因为正如您所注意到的,它会在每次按键时开始新的选择。该功能目前仅在 vi-mode 命令模式绑定中使用v
。按下您绑定的任何键后begin-selection
,您需要按下另一个执行光标移动的键来扩展选择。理论上,这可以按您想要的方式工作。请随意打开一个问题。
要复制/粘贴,请实现您喜欢的绑定。这些是 emacs 模式和 vi 模式键绑定的默认设置:
bind \cx fish_clipboard_copy
bind \cv fish_clipboard_paste
答案2
Kurtis 很好地解释了为什么鱼今天不能很好地支持这一点。有一个开放的漏洞关于添加此功能。
您也可能对。。。有兴趣daleeidd/自然选择,它设法利用 fish 中当前可用的功能实现大量 shift-select。您可以对其进行调整以支持您想要的功能。