我刚开始使用fish shell,尝试设置$EDITOR变量,以便在会话和重新启动期间保持不变。我已经尝试了以下方法:
1. 从命令行运行“set -gx EDITOR vim”。 2. 从命令行运行“set -Ux EDITOR vim”。 3. 运行上述命令,并在前面加上“set -e EDITOR”以取消先前的值。 4. 将上述命令添加到“~/.config/fish/config.fish”文件中(它会发出警告:“set: Warning: universal scope selected, but a global variable “EDITOR” exists.”)。 5. 卸载oh-my-fish并删除所有fish配置以从头开始。
无论我做什么,每当我打开一个新的终端、开始一个新的会话或重新启动时,EDITOR变量总是最终成为“/usr/bin/nano”。更奇怪的是,在“~/.config/fish/fishd.my-hostname”中,我看到“SET_EXPORT EDITOR vim”,而没有关于nano的任何信息。这是一种fish默认设置吗?如果是,如何正确设置?编辑:我在Antergos Linux上运行Fish 2.6.0。
1. 从命令行运行“set -gx EDITOR vim”。 2. 从命令行运行“set -Ux EDITOR vim”。 3. 运行上述命令,并在前面加上“set -e EDITOR”以取消先前的值。 4. 将上述命令添加到“~/.config/fish/config.fish”文件中(它会发出警告:“set: Warning: universal scope selected, but a global variable “EDITOR” exists.”)。 5. 卸载oh-my-fish并删除所有fish配置以从头开始。
无论我做什么,每当我打开一个新的终端、开始一个新的会话或重新启动时,EDITOR变量总是最终成为“/usr/bin/nano”。更奇怪的是,在“~/.config/fish/fishd.my-hostname”中,我看到“SET_EXPORT EDITOR vim”,而没有关于nano的任何信息。这是一种fish默认设置吗?如果是,如何正确设置?编辑:我在Antergos Linux上运行Fish 2.6.0。
set -Ux EDITOR vim
然后打开一个新终端并运行echo $EDITOR
,它会显示/usr/bin/nano
。我正在尝试设置$EDITOR
以便它在所有情况下都是持久的。 - Jonathanset -gx EDITOR nano
。尝试使用以下方法代替:mkdir /tmp/fish
,然后env HOME=/tmp/fish fish
,接着将EDITOR设置为uvar,并使用相同的env命令启动另一个fish。你应该会发现EDITOR已经按预期设置了。 - Kurtis Rader~/.config/fish
目录都在https://github.com/JonathanReeve/dotfiles/tree/master/dotfiles/.config/fish上,并且我已经使用grep搜索过了,没有提到nano。所以它是以其他方式设置的。您会发现我的fishd.jon-laptop文件在那里正确地设置了变量,因此在加载我的配置后,fish会加载另一个文件,并将其设置为nano。您说得对,我可以在/tmp中创建一个新的fish配置,并在那里设置变量,但它仍然将EDITOR设置为nano。 - Jonathanset -eg EDITOR
来确保使用你的uvar并忽略当前的环境。 - Kurtis Rader