关闭终端窗口后,如何强制fish持续保存新的键绑定?
关闭终端窗口后,如何强制fish持续保存新的键绑定?
目前我有问题:
- 我打开一个终端窗口,默认的shell是鱼。
- 我添加了一个键绑定:bind \ eg functionname
- 它适用于终端窗口
- 现在我关闭终端窗口
- 打开一个新的终端窗口,再次fish是默认的shell
- 绑定不再起作用,并且不会出现在
fish -a
输出中
您可以在初始化文件中添加绑定:
/usr/share/fish/config.fish /etc/fish/config.fish ~/.config/fish/config.fish
例如,您可以添加以下function:
function __fish_less commandline -i -- "|less" end bind \ey __fish_less
一个例子:
https://github.com/zmalltalker/fish-nuggets/blob/master/config.fish
编辑:
从鱼壳文件 :
初始化文件在启动时,fish会评估文件/usr/share/fish/config.fish(或者/ usr / local / fish …如果你在/ usr / local中安装了fish),/ etc / fish / config.fish(或者〜/ etc / fish / …如果您在主目录中安装了fish)和〜/ .config / fish / config.fish(或者$ XDG_CONFIG_HOME变量指定的任何其他目录),按此顺序。 不应直接编辑第一个文件,第二个文件用于系统范围配置,最后一个用于用户配置。 如果只想在启动交互式shell时运行命令,请使用命令’status –is-interactive’的退出状态来确定shell是否是交互式的。 如果只想在使用登录shell时运行命令,请改用“status –is-login”。
例子:
如果要在使用登录shell时将目录〜/ linux / bin添加到PATH变量,请将以下内容添加到〜/ .config / fish / config.fish文件中:
如果status –is-login设置PATH $ PATH~ / linux / bin结束
如果要在fish退出时运行一组命令,请使用由shell退出触发的事件处理程序:
函数on_exit –on-process%self echo fish现在正在退出
通用变量存储在.config / fish / fishd.HOSTNAME文件中,其中HOSTNAME是您计算机的名称。 不要直接编辑此文件,通过鱼脚本或交互式使用鱼来编辑它们。
因此,您应该编辑〜/ .config / fish / config.fish,注销(或重新获取config.fish),最后您应该拥有“自定义绑定”。
我建议你阅读整个文档,并在shell中玩一点,我在这里写的任何内容都不是来自doc。
然后,如果它不起作用,请返回此处的日志(如果可用),配置文件, 调试输出等。
根据这个问题 ,你似乎需要编辑/创建文件~/.config/fish/functions/fish_user_key_bindings.fish
,例如:
function my_func echo hello end function fish_user_key_bindings bind \eg my_func end