ฉันต้องการนิยามนามแฝงในปลา เห็นได้ชัดว่าควรกำหนดไว้
~/.config/fish/functions
แต่พวกเขาจะไม่โหลดอัตโนมัติเมื่อฉันรีสตาร์ทเชลล์ ความคิดใด ๆ
ฉันต้องการนิยามนามแฝงในปลา เห็นได้ชัดว่าควรกำหนดไว้
~/.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
คำสั่งนี้สุดท้ายจะสร้างไฟล์
ผู้ที่สนใจอาจชอบที่จะหาข้อมูลเพิ่มเติมเกี่ยวกับชื่อแทนปลาในคู่มืออย่างเป็นทางการ
~/.config/fish/config.fish
ดังนั้นมันจึงโหลดทุกครั้งที่ฉันเรียกใช้เทอร์มินัล
"$argv"
เพื่อจัดการกับข้อโต้แย้งด้วยช่องว่างเหมือนที่เราทำกับทุบตี"$@"
?
นี่คือวิธีที่ฉันกำหนดฟังก์ชันใหม่foo
เรียกใช้และบันทึกอย่างต่อเนื่อง
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
นอกจากนี้คุณยังสามารถแก้ไขฟังก์ชั่นการใช้ funced foo
เช่น
funcsave {some_function_name}
จะบันทึกไว้ใน~/.config/fish/functions/{some_function_name}.fish
เพื่อลูกหลานชื่อแทนปลาเป็นเพียงฟังก์ชั่น:
$ 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”
funcsave foo
หลังจากที่คุณสร้างฟังก์ชั่นที่คุณสามารถทำได้ นี่จะบันทึกฟังก์ชันลงใน~/.config/fish/functions/foo.fish
ที่ซึ่งปลาจะโหลดโดยอัตโนมัติในครั้งแรกที่มีการเรียกใช้จากเซสชันใหม่
alias foo="echo bar"
ไกลโดยวิธีที่ง่าย
function name; command; end
บันทึกไฟล์ของคุณ~/.config/fish/functions/{some_function_name}.fish
และควรโหลดอัตโนมัติเมื่อคุณเริ่มตกปลา
fish เริ่มต้นด้วยการดำเนินการคำสั่งใน ~ / .config / fish / config.fish คุณสามารถสร้างมันได้หากไม่มีอยู่:
เป็นกลุ่ม ~ / .config / fish / config.fish
และบันทึกด้วย :wq
ขั้นตอนที่ 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 / ฟังก์ชั่น
คุณสามารถตั้งค่าได้เพียงหนึ่งฟังก์ชันภายในไฟล์และชื่อไฟล์เหมือนกับชื่อฟังก์ชัน + เพิ่มนามสกุล. fish
วิธีนี้จะเปลี่ยนฟังก์ชั่นการโหลดเนื้อหาไฟล์ในเทอร์มินัลที่เปิดอยู่ (โปรดทราบว่าอาจมีความล่าช้าเกิดขึ้น ~ 1-5 วินาที)
ด้วยวิธีนี้หากคุณแก้ไขด้วย commandline
function name; function_content; end
แล้วก็
funcsave name
คุณมีฟังก์ชั่นที่ผู้ใช้กำหนดในคอนโซลและสั่งทำตามลำดับเดียวกัน
ทำให้ฟังก์ชั่นใน ~ / .config / fish / ฟังก์ชั่นที่เรียกว่า mkalias.fish และใส่สิ่งนี้เข้า
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
และสิ่งนี้จะสร้างชื่อแทนโดยอัตโนมัติ