245

fish でいくつかのエイリアスを定義したいと思います。どうやら、それらを定義できるはずです

~/.config/fish/functions

しかし、シェルを再起動しても自動ロードされません。何か案は?

4

11 に答える 11

437

を使用するだけ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

興味のある人は、公式マニュアルで魚のエイリアスについてもっと知りたいと思うかもしれません。

于 2010-05-04T05:32:29.323 に答える
126

これが、新しい関数を定義してfoo実行し、永続的に保存する方法です。

sthorne@pearl~> function foo
                    echo 'foo was here'
                end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
于 2010-05-04T05:36:43.397 に答える
24

abbrの代わりにを追加すると、aliasオートコンプリートが向上します。fish ではabbr、bash エイリアスの動作によりよく一致します。

abbr -a gco git checkout

に展開する-a新しいabbr回避策を追加します。gcogit checkout

結果として得られるオートコンプリート機能のビデオ デモを次に示します。

于 2019-03-27T04:04:13.777 に答える
16
  1. ~/.config/fish/にconfig.fishがない場合は作成します。
  2. そこにあなたの関数を書くことができます。function name; command; end
于 2011-10-01T13:46:16.537 に答える
15

ファイルをとして保存する~/.config/fish/functions/{some_function_name}.fishと、fishを開始したときにファイルが自動ロードされるはずです。

于 2013-02-19T16:38:30.333 に答える