Domanda

Vorrei definire alcuni alias nel pesce. A quanto pare dovrebbe essere possibile definirli in

~/.config/fish/functions

, ma non ottengono automaticamente caricato quando si riavvia il guscio. Tutte le idee?

È stato utile?

Soluzione

Proprio uso alias. Ecco un esempio di base:

# 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

Questo ultimo comando crea il file ~/.config/fish/functions/rmi.fish.

Le persone interessate avrebbe fatto piacere saperne di più sugli alias di pesce in il manuale ufficiale .

Altri suggerimenti

Questo è come mi definisco una nuova funzione foo, eseguirlo, e salvarlo con insistenza.

sthorne@pearl~> function foo
                    echo 'foo was here'
                end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo

Ai posteri, gli alias di pesce sono solo funzioni:

$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
    echo bar $argv; 
end

Per rimuoverlo

$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
  1. se non v'è config.fish in ~ / .config / pesce / , farlo.
  2. non è possibile scrivere la funzione .function name command end

salvare i file come ~/.config/fish/functions/{some_function_name}.fish e dovrebbero ottenere caricate automaticamente all'avvio di pesce.

Per caricare correttamente le funzioni da ~ / .config / pesce / funzioni

È possibile impostare solo ONE la funzione di file all'interno e il nome del file lo stesso nome della funzione + aggiungere l'estensione .fish.

In questo modo il contenuto dei file cambiando ricaricare le funzioni nei terminali aperti (notare un certo ritardo potrebbe verificarsi ~ 1-5s)

In questo modo se si modifica sia da riga di comando

function name; function_content; end

poi

funcsave name

Hai utente funzioni definite nella console e su misura nello stesso ordine.

inizia pesce per l'esecuzione di comandi in ~ / .config / pesce / config.fish. È possibile creare se non esiste.

step1. file di configurazione di marca (come .bashrc)

  

config.fish

Step2. basta scrivere il tuo alias come questo;

  

alias rm = "rm -i"

Se si aggiunge un abbr invece di un alias si otterrà una migliore auto-complete. In abbr pesci più si avvicina al comportamento di un alias di bash.

abbr -a gco git checkout

Sarà -add un nuovo abbr gcoeviation che si espande per git checkout.

Ecco un video demo delle funzionalità con conseguente completamento automatico

fare una funzione in ~ / .config / pesce / funzioni chiamato mkalias.fish e mettere questo in

function mkalias --argument key value
  echo alias $key=$value
  alias $key=$value
  funcsave $key
end

e questo creerà automaticamente gli alias.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top