Tôi muốn xác định một số bí danh trong cá. Rõ ràng là có thể định nghĩa chúng trong
~/.config/fish/functions
nhưng chúng không được tải tự động khi tôi khởi động lại shell. Có ý kiến gì không?
Tôi muốn xác định một số bí danh trong cá. Rõ ràng là có thể định nghĩa chúng trong
~/.config/fish/functions
nhưng chúng không được tải tự động khi tôi khởi động lại shell. Có ý kiến gì không?
Câu trả lời:
Chỉ cần sử dụng alias
. Đây là một ví dụ cơ bản:
# 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
Lệnh cuối cùng này tạo tập tin ~/.config/fish/functions/rmi.fish
.
Những người quan tâm có thể muốn tìm hiểu thêm về bí danh cá trong hướng dẫn chính thức .
~/.config/fish/config.fish
để nó tải mỗi khi tôi chạy một thiết bị đầu cuối.
"$argv"
để xử lý các đối số có khoảng trắng như chúng ta làm với bash "$@"
?
Đây là cách tôi xác định một chức năng mới foo
, chạy nó và lưu nó liên tục.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
. Ví dụ funced foo
.
funcsave {some_function_name}
sẽ lưu nó trong~/.config/fish/functions/{some_function_name}.fish
Đối với hậu thế, bí danh cá chỉ là chức năng:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Để loại bỏ nó
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
funcsave foo
. Điều này sẽ lưu chức năng vào ~/.config/fish/functions/foo.fish
, nơi cá sẽ tự động tải nó vào lần đầu tiên nó được gọi từ một phiên mới.
alias foo="echo bar"
cho đến nay là giải pháp đơn giản nhất
cá bắt đầu bằng cách thực hiện các lệnh trong ~ / .config / fish / config.fish. Bạn có thể tạo nó nếu nó không tồn tại:
vim ~ / .config / fish / config.fish
và lưu nó với :wq
bước 1. tạo tập tin cấu hình (như .bashrc)
config.fish
bước 2. chỉ cần viết bí danh của bạn như thế này;
bí danh rm = "rm -i"
Nếu bạn thêm abbr
thay vì alias
bạn sẽ tự động hoàn thành tốt hơn. Trong cá abbr
phù hợp hơn với hành vi của một bí danh bash.
abbr -a gco git checkout
Sẽ -a
dd mới abbr
eviation gco
mà mở rộng để git checkout
.
Để tải đúng chức năng từ ~ / .config / fish / chức năng
Bạn chỉ có thể đặt MỘT hàm bên trong tệp và tệp tên giống như tên hàm + thêm phần mở rộng .fish.
Cách này thay đổi nội dung tệp tải lại các chức năng trong các thiết bị đầu cuối đã mở (lưu ý một số độ trễ có thể xảy ra ~ 1-5 giây)
Bằng cách đó nếu bạn chỉnh sửa bằng dòng lệnh
function name; function_content; end
sau đó
funcsave name
bạn có các chức năng do người dùng xác định trong bảng điều khiển và tùy chỉnh được thực hiện theo cùng một thứ tự.