سؤال

أود تحديد بعض الأسماء المستعارة في الأسماك. يبدو أنه من الممكن تحديدها في

~/.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/السمك/الوظائف

يمكنك تعيين فقط واحد وظيفة داخل الملف وملف الاسم نفس اسم الوظيفة + إضافة. أسماك امتداد.

وبهذه الطريقة ، فإن تغيير وظائف إعادة تحميل محتويات الملفات في المحطات المفتوحة (لاحظ أن بعض التأخير قد يحدث ~ 1-5)

بهذه الطريقة إذا قمت بتحرير إما عن طريق سطر الأوامر

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.

إليك عرض فيديو للميزات الناتجة عن الإكمال التلقائي

قم بعمل وظيفة في ~/.config/fish/وظائف تسمى mkalias.fish ووضعها في

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

وهذا سيخلق الأسماء المستعارة تلقائيًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top