كيف تحدد الاسم المستعار في قذيفة السمك؟
سؤال
أود تحديد بعض الأسماء المستعارة في الأسماك. يبدو أنه من الممكن تحديدها في
~/.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/السمك/الوظائف
يمكنك تعيين فقط واحد وظيفة داخل الملف وملف الاسم نفس اسم الوظيفة + إضافة. أسماك امتداد.
وبهذه الطريقة ، فإن تغيير وظائف إعادة تحميل محتويات الملفات في المحطات المفتوحة (لاحظ أن بعض التأخير قد يحدث ~ 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
سوف -a
DD جديد abbr
Eviation gco
هذا يتوسع إلى git checkout
.
قم بعمل وظيفة في ~/.config/fish/وظائف تسمى mkalias.fish ووضعها في
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
وهذا سيخلق الأسماء المستعارة تلقائيًا.