Symbolic link navigation for Fish
Symnav was developed and tested on Fish 2.6.0. Please report any issues.
Copy all files in the functions directory into your fish functions directory, typically
~/.config/fish/functions. Several key bindings need to be added, see key_bindings.fish for the required binding list and the bind command documentation for instructions.
bind | grep __symnav to check that symnav key bindings are enabled.
- Tracks directory changes involving symbolic links
- Performs completion of
../directories involving symbolic links
- Mode for user to choose between symbolic link and real path during completion
- Substitution of
$PWDon the command line
- Automatic prompt configuration
# Update function 'prompt_pwd' to use '$symnav_pwd'. set symnav_prompt_pwd 1 (0 to disable) # Update function 'fish_prompt' to use '$symnav_pwd'. set symnav_fish_prompt 1 (0 to disable) # Whether substituting or completing directories such as '../' should use symbolic links ('symlink') # or asked the user to choose between the symbolic link and the real path ('ask'). set symnav_substitution_mode symlink (or 'ask') # Execute immediately after command line substitution has occurred. set symnav_execute_substitution 1 (0 to disable) # Substitute '$PWD' for '$symnav_pwd' prior to command execution. set symnav_substitute_PWD 1 (0 to disable) # Initialize symnav during first execution or completion. set symnav_lazy_initialize 1 (0 to disable) # List of additional functions to modify for symnav compatibility. # Instances of '$PWD', 'realpath', will be replaced by a new in memory function set symnav_modify_functions 'func1' 'func2' ...