Keys
  
    
      | Shortcut | 
      Description | 
    
  
  
    
      Alt ← / Alt → | 
      Move word | 
    
    
      ^U | 
      Delete to beginning | 
    
    
      ^W | 
      Delete to previous / | 
    
    
      Alt D | 
      Delete next word | 
    
  
  
    
      Alt ↑ | 
      Last arguments | 
    
  
Help
  
    
      Alt H | 
      Help on word (man) | 
    
    
      Alt W | 
      Help on word (short descriptions) | 
    
    
      Alt L | 
      List directory on cursor | 
    
  
Function
Writing functions
function my_function --description "My description"
  ···
end
Conditional
if test -f foo.txt
  ···
else if test -f bar.txt
  ···
else
  ···
end
Combining tests
if test -f foo.txt && test -f bar.txt
if test -f foo.txt -a -f bar.txt
if test \( -f foo.txt \) -a -f \( bar.txt \)
Events
Emitting
emit my_event
Listening
function myhook --on-event my_event
  ···
end
This lets you hook onto events, such as fish_prompt.
Completions
Creating completions
~/.fish/completions/mycommand.fish
complete -c mycommand ...
complete -c mycommand ...
complete -c mycommand ...
Options
complete \
  -c                         # command
  -s                         # short option
  -l                         # long option
  -r, --require-parameter
  -f, --no-files
  -x                         # exclusive (-r -f)
  -n '__fish_use_subcommand' # condition
  --description ".."
Example
  complete -c $cmd \
-n '__fish_use_subcommand' \
-x -a hello \
--description 'lol'
Conditions
  
    
      | Condition | 
      Description | 
    
  
  
    
      -n __fish_complete_directories STRING DESCRIPTION | 
      performs path completion on STRING, allowing only directories, and giving them the description DESCRIPTION. | 
    
    
      -n __fish_complete_path STRING DESCRIPTION | 
      performs path completion on STRING, giving them the description DESCRIPTION. | 
    
    
      -n __fish_complete_groups | 
      prints a list of all user groups with the groups members as description. | 
    
    
      -n __fish_complete_pids | 
      prints a list of all processes IDs with the command name as description. | 
    
    
      -n __fish_complete_suffix SUFFIX | 
      performs file completion allowing only files ending in SUFFIX. The mimetype database is used to find a suitable description. | 
    
    
      -n __fish_complete_users | 
      prints a list of all users with their full name as description. | 
    
    
      -n __fish_print_filesystems | 
      prints a list of all known file systems. Currently, this is a static list, and not dependent on what file systems the host operating system actually understands. | 
    
    
      -n __fish_print_hostnames | 
      prints a list of all known hostnames. This functions searches the fstab for nfs servers, ssh for known hosts and checks the /etc/hosts file. | 
    
    
      -n __fish_print_interfaces | 
      prints a list of all known network interfaces. | 
    
    
      -n __fish_print_packages | 
      prints a list of all installed packages. This function currently handles Debian, rpm and Gentoo packages. | 
    
    
      -n __fish_use_subcommand | 
        | 
    
    
      -n __fish_seen_subcommand_from init | 
        | 
    
  
Example
complete -c ruby -s X -x -a '(__fish_complete_directories (commandline -ct))' --description 'Directory'
Examples
Start each example with complete -c cmdname
-x
  # no filename completion
-s d -x -a "read skip"
  # -d {read|skip}
-s d -x
  # -d <something>
-s f -r
  # -f FILE
-s f -l force
  # -f, --force
-a "(cat /etc/passwd | cut -d : -f 1)"
  # first argument as filename
  
 
0 Comments 这个速查表。 写评论!