Answers:
只需使用alias
。这是一个基本示例:
# 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
。
有兴趣的人可能希望在官方手册中找到有关鱼类别名的更多信息。
~/.config/fish/config.fish
以便每次运行终端机时都会加载它。
"$argv"
像处理bash一样引用引号来处理带有空格的参数"$@"
?
这就是我定义新函数foo
,运行它并永久保存它的方式。
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
。例如funced foo
。
funcsave {some_function_name}
会将其保存在~/.config/fish/functions/{some_function_name}.fish
对于后代,鱼别名只是函数:
$ 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”
funcsave foo
。这会将函数保存到中~/.config/fish/functions/foo.fish
,在第一次从新会话中调用Fish时,fish将自动加载该函数。
alias foo="echo bar"
到目前为止,这是最简单的解决方案
如果您添加abbr
而不是,alias
则会获得更好的自动完成功能。在鱼中,abbr
匹配bash别名的行为更紧密。
abbr -a gco git checkout
会-a
dd 扩展到的新abbr
含义。gco
git checkout