- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想将 fish 与 Cool Retro Terminal 一起使用但我通常使用的提示有 unicode 字符,复古终端中的字体不支持。我有我的 fish_prompt
函数检查 $simple_prompt
是否为 1,我知道它有效,但我需要一种方法来设置变量,仅针对该终端实例,使用复古终端中的启动命令选项。
目前为止最接近的是fish -c "set -gx simple_prompt 1; fish"
,但是它会将变量导出到系统上的所有 shell 实例,并使所有提示都变得简单那些也是。 fish -c "set -g simple_prompt 1; fish"
不起作用。
最佳答案
预计 set -g simple_prompt 1
对您启动的下一个 fish 实例不可见。全局变量只对当前 shell 实例可见。如果您使用的终端设置了一些环境变量,可以让您确定 fish 正在该特定终端内运行,我会使用该信息。例如,macOS 上的 iTerm2 导出 ITERM_PROFILE
和它独有的其他四个环境变量。如果 Cool Retro Terminal 不这样做,也许还有其他方法可以检测该终端类型。它可能就像检查 TERM
变量一样简单。
如果上述解决方案不是一个选项,那么唯一的解决方案就是环境变量,就像您的第一个解决方案一样。因为你说它将该变量导出到所有 fish 实例,所以我怀疑你没有准确描述你在做什么。因为如果将该命令设置为 Cool Retro Terminal 应该用来启动 shell 的命令,它只会影响在该终端中运行的 fish 实例。这就是您想要的。
关于linux - 如何使用变量预设启动 shell (fish),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44169923/
为了对 fish 提示进行一些小的更改,我修改了 ~/.config/fish/目录中的 fish_prompt.fish/fish_right_prompt.fish 文件,但这并没有改变任何东西。
在 Fish 中是否有可能以我将命令定义为 echo 等命令的单个参数的方式执行命令替换?在 Bash 中,它等同于例如: $ echo "$(cat file.txt)" lorem ipsum F
所以,我真的很喜欢 Fish - 但我需要一些脚本方面的帮助。 尤其是找到正在运行的脚本的路径。 这是BASH的解决方案 Getting the source directory of a Bash
我正在从 ZSH 迁移到 Fish,我唯一没弄清楚的是我的 c功能: 函数/c: #!/bin/sh cd "$PROJECTS/$1" 函数/_c: #compdef c _files -W $PR
快速提问。是否可以通过在 fish 中编写脚本来定义新命令?我想按照以下方式编写一个新命令: newFunction --flag1 flag1Input --flag2 flag2Input the
我从 fish 开始,我在大量文档中找不到的其中一件事是自动完成提要。 提到了 Tab Completions在本教程中,但它解决了机制本身的存在,而不是它的配置。 我有一堆通过 连接的虚拟机 mac
在 bash shell 脚本,我通常会运行 :> file清空文件。 现在使用fish,情况略有不同,上面的命令不起作用。 什么是 fish 当量? 最佳答案 虽然没有:那么短, true是一个可以
我已经仔细阅读了fish shell 文档,我正在尝试弄清楚如何在fish 函数中有条件地设置局部变量。 换句话说,如果您有一个函数,并且希望使用 if-then-else 逻辑修改局部变量。 fun
如果我将一个名为 myfunc.fish 的文件放在名为 functions 的目录中,并且它包含一个名为 myfunc 的函数,那么如果我将 myfunc 作为命令键入,fish 将找到它。 如果我
我在不同的地方(家庭网络、云……)有无数台机器,我在每台机器上都使用了fish。问题是每次更改其中的内容时我都必须同步它们的配置。 有没有办法从远程存储库加载配置? (= 存储它的地方,不一定是 gi
我有一个包含多个项目的目录,我想对每个项目运行一些命令。 现在我正在做的是: cd /my/project/root set root (pwd) for p in * cd $p git r
有another question关于测试特定 字符串的命令替换。我想测试一个命令是否在单个语句中输出任何内容,即等同于: if [[ -n "$(foo)" ]] 在庆典中。 Fish 无法识别 [
我想在 fish 中添加一个带有空格的别名,如下所示: alias hello there 'print hello there' 这有可能吗? (我知道这个例子是无效的,我只是举个例子)。 提前致谢
我想将字符串重定向到命令的 STDIN 中。 我会使用类似 cmd <<< "my string" 的东西来做它在 Bash 中,甚至 cmd <
如何使 ~/.config/fish/config.fish 中定义的别名和~/.config/fish/functions 中定义的函数root 用户也可以使用吗? 符号链接(symbolic li
my-fish-script a b c d 假设你想从第二个参数开始获取所有参数,所以 b c d . 在 bash 中,您可以使用 shift转储第一个参数并使用 "$@" 访问其余参数. 你将如
Fish是否可以根据您所在的目录自动加载其他配置? 一个可能的例子,但是显然这是行不通的。您导航到项目文件夹: cd ~/my_proj 该文件夹中有一个名为.fish.config的文件,其中包含一
我查看了 Stack Overflow 上的所有类似问题,并在他们的文档中尝试了很多东西。我目前的尝试如下。 我想要完成的是基于计算机用户的不同行为。我有一台工作电脑和一台家用电脑,当我在命令行中输入
这是2.1.0版本 $ set a foo $ set b bar $ echo $a_$b $ echo {$a}_$b foo_bar 为什么第一个“echo”没有输出任何东西?我本以为会看到“酒
我是 Windows 用户。我正在通过 WSL-2 尝试 Ubuntu。我正在努力在 fish shell 中选择带有箭头键的文本。我尝试了很多地方来回答这个问题,但没有人给我合适的解决方案。在文档中
我是一名优秀的程序员,十分优秀!