我想使某些fish
配色方案提供给运行Ubuntu的某台计算机的所有用户,因为系统上的一个用户报告说,默认的fish
配色方案太暗,他们无法通过PuTTY查看,当从Windows框中SSHing到系统时。为 * 特定 * 用户设置配色方案需要将一系列通用变量保存到文件$HOME/.config/fish/fish_variables
中。在配色方案的情况下,文件将包含行,如
SETUVAR fish_color_autosuggestion:707A8C
SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:5CCFE6
SETUVAR fish_color_comment:5C6773
SETUVAR fish_color_cwd:73D0FF
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:F29E74
SETUVAR fish_color_error:FF3333
SETUVAR fish_color_escape:95E6CB
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:\x1d
SETUVAR fish_color_keyword:\x1d
SETUVAR fish_color_match:F28779
SETUVAR fish_color_normal:CBCCC6
SETUVAR fish_color_operator:FFCC66
SETUVAR fish_color_option:\x1d
SETUVAR fish_color_param:CBCCC6
SETUVAR fish_color_quote:BAE67E
SETUVAR fish_color_redirection:D4BFFF
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_color_selection:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_background:\x1d
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_secondary_background:\x1d
SETUVAR fish_pager_color_secondary_completion:\x1d
SETUVAR fish_pager_color_secondary_description:\x1d
SETUVAR fish_pager_color_secondary_prefix:\x1d
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
我认为这同样适用于系统范围的fish
设置,所以我将上述行保存到/etc/fish/fish_variables
中,并以测试用户身份登录。但是,测试用户的配色方案未更新为上述配色方案。
我需要做什么来为Ubuntu上的fish
shell的所有用户设置更亮的默认配色方案?
编辑
我确实想到,我可以通过使用set -x variable_name value
简单地导出/etc/fish/config.fish
中具有相同名称的 * 非通用 * 变量,但这似乎有点脏,我有点担心作用域规则可能会扰乱用户自己希望进行的任何设置。对此有何评论?
1条答案
按热度按时间j13ufse21#
我将上面的行保存到/etc/fish/fish_variables中
没有/etc/fish/fish_variables,fish只从用户目录中读取通用变量。
我确实想到,可以通过使用set -x variable_name值简单地导出/etc/fish/config.fish中具有相同名称的非通用变量,但这似乎有点脏,而且我有点担心作用域规则可能会扰乱用户自己希望进行的任何设置。
您可以将变量放入/etc/fish/config.fish(或/etc/fish/conf.d中的文件,只要它以“.fish”结尾),但导出它们不是必需的。
您可能希望将它们设置为 global -
set -g
,而不是set -x
。当然,这意味着用户还必须使用全局变量。
另一种方法是,仅在尚未设置变量时才设置它们: