Me gustaría definir algunos alias en peces. Al parecer, debería ser posible definirlos en¿Cómo se define un alias en la concha de pescado?
~/.config/fish/functions
pero no consiguen auto cargado al reiniciar la cáscara. ¿Algunas ideas?
Me gustaría definir algunos alias en peces. Al parecer, debería ser posible definirlos en¿Cómo se define un alias en la concha de pescado?
~/.config/fish/functions
pero no consiguen auto cargado al reiniciar la cáscara. ¿Algunas ideas?
Simplemente use alias
. 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 pueden encontrar más información sobre los alias de peces en the official manual.
También tenga en cuenta que en fish un alias es solo un contenedor de shellscript alrededor de una función. – user456584
@ user456584 ... y eso es malo, porque no se puede hacer 'alias local" set -l "' ;-( – nus
Solo una nota de qué archivo poner esto. Puse el mío en '~/.config/fish/config.fish' por lo que se carga cada vez que ejecuto un terminal. –
Así es como defino una nueva función foo
, ejecútala y guárdala persistentemente.
[email protected]~> function foo
echo 'foo was here'
end
[email protected]~> foo
foo was here
[email protected]~> funcsave foo
Gracias Jerub. Por alguna razón después de funcsave me dio un error: troff: error fatal: no se puede abrir '/ usr/share/fish/man/save_function.1 ': No existe ningún archivo o directorio – armandino
También puede editar funciones con 'funced'. Por ejemplo' funfo foo'. – Dennis
Ejecutando 'funcsave {some_function_name}' se guardará en '~/.config/fish/functions/{some_function_name} .fish' – Hjulle
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 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 quitarlo
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
Para cargar correctamente las funciones de ~/.config/pescado/funciones
Usted puede establecer solo ONE función dentro de archivo y nombre de archivo igual que nombre de función + agregar .fish exten sion.
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
continuación
funcsave name
tiene funciones definidas por el usuario en la consola y creadas a medida en el mismo orden.
crear una función en ~/.config/funciones llamadas mkalias.fish peces/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.
fish comienza ejecutando comandos en ~/.config/fish/config.fish. Puedes crearlo si no existe.
step1. make configuration file (como .bashrc)
config.fish
step2. solo escribe tu alias de esta manera;
alias rm="rm -i"
abierto vim .config/fish/conf.d/omf.fish
, unen su golpe define y reinicie el terminal pesquero.
La respuesta a continuación con solo un par de votos es, en mi opinión, correcta. La carga automática en ./config/fish/functions solo parece funcionar si hay una función por archivo. –