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?

¿Fue útil?

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”
  1. si no hay config.fish en ~ / .config / pescado / , que sea.
  2. 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 -add un nuevo abbr gcoeviation 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top