¿Cómo definir un alias en el shell de pescado?
Pregunta
Me gustaría definir algunos alias en el pescado. Al parecer, debería ser posible definirlos en
~/.config/fish/functions
pero no consiguen auto cargado al reiniciar la cáscara. Algunas ideas?
Solución
Sólo alias
uso. Aquí hay un ejemplo básico:
# 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
Este último comando crea el archivo ~/.config/fish/functions/rmi.fish
.
Las personas interesadas podría gustaría saber más acerca de los alias de pescado en el manual oficial .
Otros consejos
Esto es cómo definir una nueva función foo
, ejecutarlo, y guardarlo persistentemente.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
Para la posteridad, alias de pescado son sólo funciones:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Para retirarla
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
- si no hay config.fish en ~ / .config / pescado / , que sea.
- no puede escribir su función .
function name command end
guardar los archivos como ~/.config/fish/functions/{some_function_name}.fish
y que debe recibir autocargado cuando se inicia el pescado.
Para cargar correctamente las funciones de ~ / .config / pescado / funciones
Es posible configurar solamente UNO archivo dentro de la función y el nombre de la misma como nombre de la función + añadir extensión .fish.
De esta manera el contenido del archivo cambiando recargan las funciones de los terminales abiertos (nota cierto retraso puede ocurrir ~ 1-5s)
De esta forma si se edita ya sea por línea de comandos
function name; function_content; end
entonces
funcsave name
se han definido las funciones de usuario en la consola y por encargo en el mismo orden.
Fish inicia mediante la ejecución de comandos en ~ / .config / pescado / config.fish. Puede crearlo si no existe.
paso 1. archivo de configuración de maquillaje (como .bashrc)
config.fish
Paso 2. acaba de escribir su alias como esto;
alias rm = "rm -i"
Si agrega una abbr
en lugar de un alias
vas a mejorar la función de autocompletar. En abbr
peces se aproxime más al comportamiento de un alias de bash.
abbr -a gco git checkout
¿Se -a
dd un nuevo abbr
gco
eviation que se expande a git checkout
.
Aquí está un vídeo de demostración de las características resultante de auto-completar
hacer una función en ~ / .config / pescado / funciones de llamada mkalias.fish y poner esto en
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
y esto va a crear alias automáticamente.