質問
魚のエイリアスを定義したいと思います。どうやらそれらを定義することが可能であるはずです
~/.config/fish/functions
しかし、シェルを再起動すると、自動ロードされません。何か案は?
解決
使用するだけです 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
.
興味のある人は、魚のエイリアスについてもっと知りたいと思うかもしれません 公式マニュアル.
他のヒント
これが新しい関数を定義する方法です foo
, 、それを実行し、永続的に保存します。
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
後世のために、魚のエイリアスは単なる機能です:
$ 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”
- ない場合 config.fish の 〜/.config/fish/, 、 成功する。
- そこであなたはあなたの機能を書くことができます。
function name command end
ファイルを保存します ~/.config/fish/functions/{some_function_name}.fish
そして、あなたが魚を始めるとき、彼らは自動装飾されるべきです。
から機能を適切にロードします 〜/.config/fish/functions
設定する場合があります 1 ファイル内の関数と名前ファイルは、function name + add.fish拡張子と同じです。
この方法で、ファイルの内容を変更する端末の再ロード機能をリロードします(いくつかの遅延が発生する可能性があることに注意してください〜1〜5秒)
そのようにして、CommandLineで編集する場合
function name; function_content; end
それから
funcsave name
コンソールのユーザー定義関数と同じ順序でカスタムメイドされています。
魚は、〜/.config/fish/config.fishでコマンドを実行することから始めます。存在しない場合は作成できます。
ステップ1。構成ファイルを作成します(.bashrcなど)
config.fish
ステップ2。このようなエイリアスを書くだけです。
エイリアスrm = "rm -i"
追加する場合 abbr
の代わりに alias
あなたはより良い自動コンプリートを得るでしょう。魚で abbr
バッシュエイリアスの動作にもっと一致します。
abbr -a gco git checkout
意思 -a
DD新しい abbr
eviation gco
それはに拡大します git checkout
.
mkalias.fishと呼ばれる〜/.config/Fish/機能で関数を作成し、これを入れます
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
そして、これによりエイリアスが自動的に作成されます。