Я хотів би визначити деякі псевдоніми в рибі. Мабуть, їх слід мати можливість визначити
~/.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"
щоб обробляти аргументи з пробілами, як у нас з bash "$@"
?
Ось так я визначаю нову функцію 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 / config.fish. Ви можете створити його, якщо його немає:
vim ~ / .config / fish / config.fish
і збережіть за допомогою :wq
крок 1. зробити файл конфігурації (наприклад, .bashrc)
config.fish
крок2. просто напишіть свій псевдонім так;
псевдонім rm = "rm -i"
Якщо ви додасте abbr
замість цього, alias
ви отримаєте краще автоматичне завершення. У риб abbr
більше відповідає поведінці псевдоніма баш.
abbr -a gco git checkout
Буде -a
dd нова abbr
авіація, gco
яка розширюється до git checkout
.
Правильно завантажувати функції з ~ / .config / fish / функцій
Ви можете встановити лише ОДНУ функцію у файлі та файлі імені так само, як ім'я функції + Додати розширення .fish.
Таким чином зміна функцій перезавантаження вмісту файлів у відкритих терміналах (зауважте, може виникнути деяка затримка ~ 1-5s)
Таким чином, якщо ви редагуєте або командний рядок
function name; function_content; end
тоді
funcsave name
у вас визначені користувачем функції в консолі та на замовлення, виконані в одному порядку.