Symnav
Symbolic link navigation for Fish
Install
Symnav was developed and tested on Fish 2.6.0. Please report any issues.
Fisherman
fisher externl/fish-symnav
Manually
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.
Use bind | grep __symnav
to check that symnav key bindings are enabled.
Features
- 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
$PWD
on the command line - Automatic prompt configuration
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' ...