2017-08-28 63 views
1

摆弄fish_vi_key_bindings,我很想知道这个函数在哪里定义。我的直觉是,函数存在于~/.config/fish/functions以外的文件中,但我看不到它们。如何查找定义鱼类功能的文件?

我如何知道该函数的定义在哪里?像

function funcfile the-func -d 'show the file for a function' 
    ... 
end 

回答

3

东西由于鱼2.6.0,该functions内置有一个 “--details” 选项,可以显示这一点:functions --details fish_vi_key_bindings

在此之前,您可以搜索$fish_function_path进行第一场比赛。例如。与GNU的grep:

grep --files-with-matches "function fish_vi_key_bindings" $fish_function_path/*.fish 

我的直觉是,功能的〜/的.config /鱼/功能以外的文件存在定义,但我看不到他们。

你的想法是正确的。你可能想要的是$ fish_function_path。这是一个包含鱼类搜索功能的目录列表,在第一场比赛中停止。

+1

此外,从同一版本开始,'type'命令给出了这些信息:'$ type fish_vi_key_bindings |头部':'fish_vi_key_bindings是一个函数,具有定义 #定义在/usr/local/share/fish/functions/fish_vi_key_bindings.fish @ line 1 function fish_vi_key_bindings --description'vi-like key bindings for fish' if contains - - -h $ argv' –