在Fish中,您如何调整周围的内容以匹配特殊的键绑定?

问题描述 投票:-1回答:1

上下文

所以我终于尝试去钓鱼了,正如人们期望的那样,由于与通常的惯例不同,我遇到了一些磨擦。

对我来说,最令人惊讶的是absence of the bang operator。我对sudo !!的丢失感到满意,因为建议的函数替换对我来说似乎更好,我将其命名为gar,其意思是“制造,强迫(某人做某事);导致(某事要做) ”。但是,我需要替换!<abc><enter>,以抢占以<abc>开头的最后一条历史记录行,并且事不宜迟,欢迎提出建议。

现在,对于个人而言:-我使用Typematrix 2030键盘-我使用bépo布局-我想使用最常用的操作来配置默认的手指位置键

目标

正如我的键盘<enter>上的位置很好,并且在语义上与此相关,理想情况下,我希望实现以下键绑定:

  • ctrl-enter:接受整个建议并在没有进一步确认的情况下运行它
  • ctrl-tab:接受整个建议并等待进一步的编辑
  • alt-enter:重做上一个命令,无需进一步确认
  • 但是根据xev,至少在Gnome端看来,这种组合无法识别。他们支持的终端吗?现在,我将这三个分别重新映射为<ctrl>-i<alt>-i<alt>-I

bind --preset \ci forward-char execute
bind --preset \ei forward-char
bind --preset \eI forward-word

这可以按预期工作,但是现在tab键似乎也将映射到第一项。我猜想tab会映射到Shell堆栈中的<alt>-i。我当时还不知道,所以我还不知道Fish是否有可能将它们分开。

为了管理工作,我也来了

bind --preset \es fg
bind --preset \eS bg

第一个按预期运行,但是第二个则没有。对于vim之类的应用程序,绑定当然应该在应用程序配置本身中进行。但是对于像yes这样琐碎的事情,<alt>-S无法按预期工作,而<crl>-z继续正常运行。

我还想将ls -alhgit status --short之类的命令绑定到直接执行的命令,以将结果显示在当前编辑的行下方,允许无缝地进一步键入,但尚未找到实现此目的的方法。

剩余问题的摘要

所以这是我更精确的问题总结:

  • 我如何将睡眠信号绑定到<alt>-S
  • <alt>-<enter><ctrl>-<enter>在哪里可以使用的终端?
  • 如何在保持当前版本的同时无缝运行命令?
  • 您可以将某些内容绑定到<alt>-i而不更改<tab>吗?

上下文因此,我终于尝试去钓鱼了,就像人们期望的那样,由于与通常的惯例不同,我遇到了一些磨擦。和其他许多方面一样,对我来说最令人惊讶的是……的缺席...

key-bindings fish
1个回答
1
投票

我如何将睡眠信号绑定到-S?

© www.soinside.com 2019 - 2024. All rights reserved.