linux - 如何在fish shell中定义别名?
我想在鱼中定义一些别名。 显然应该可以在中定义它们
~/.config/fish/functions
但是当我重新启动shell时,它们不会自动加载。 有任何想法吗?
armandino asked 2019-05-20T10:03:22Z
9个解决方案
254 votes
只需使用~/.config/fish/functions/rmi.fish.这是一个基本的例子:
# Define alias in shell
alias rmi "rm -i"
# Define alias in config file
alias rmi="rm -i"
# This is equivalent to entering the following function:
function rmi
rm -i $argv
end
# Then, to save it across terminal sessions:
funcsave rmi
最后一个命令创建文件~/.config/fish/functions/rmi.fish。
有兴趣的人可能想在官方手册中找到更多关于鱼类别名的信息。
Bozhidar Batsov answered 2019-05-20T10:03:49Z
107 votes
这就是我定义新函数foo,运行它并持久保存的方法。
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
Jerub answered 2019-05-20T10:04:13Z
44 votes
对于后代,鱼别名只是功能:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
要删除它
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
glenn jackman answered 2019-05-20T10:04:44Z
14 votes
如果〜/ .config / fish /中没有config.fish,那就搞定吧。
在那里你可以写你的功能.function name command end
seaslee answered 2019-05-20T10:05:14Z
13 votes
将文件保存为~/.config/fish/functions/{some_function_name}.fish,它们应该在您开始钓鱼时自动加载。
martisj answered 2019-05-20T10:05:39Z
9 votes
从〜/ .config / fish / functions正确加载函数
您可以在文件和名称文件中仅设置一个函数与函数名称+添加.fish扩展名相同。
这样改变打开的终端中的文件内容重载功能(注意可能会发生一些延迟~1-5s)
这样,如果您通过命令行编辑
function name; function_content; end
然后
funcsave name
您在控制台中具有用户定义的功能,并以相同的顺序定制。
pawelkl answered 2019-05-20T10:06:33Z
6 votes
fish通过执行〜/ .config / fish / config.fish中的命令开始。如果它不存在,您可以创建它。
步骤1。 制作配置文件(如.bashrc)
config.fish
第2步。 只需写下你的别名;
别名rm =“rm -i”
CookAtRice answered 2019-05-20T10:07:26Z
1 votes
在〜/ .config / fish /函数中创建一个名为mkalias.fish的函数并将其放入
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
这将自动创建别名。
Mike answered 2019-05-20T10:07:59Z
0 votes
打开vim .config/fish/conf.d/omf.fish,绑定你的bash定义并重启fish终端。
selmansamet answered 2019-05-20T10:08:25Z