質問

魚のエイリアスを定義したいと思います。どうやらそれらを定義することが可能であるはずです

~/.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”
  1. ない場合 config.fish〜/.config/fish/, 、 成功する。
  2. そこであなたはあなたの機能を書くことができます。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

意思 -aDD新しい abbreviation gco それはに拡大します git checkout.

これが、結果の自動コンプリート機能のビデオデモです

mkalias.fishと呼ばれる〜/.config/Fish/機能で関数を作成し、これを入れます

function mkalias --argument key value
  echo alias $key=$value
  alias $key=$value
  funcsave $key
end

そして、これによりエイリアスが自動的に作成されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top