2017-08-28 38 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' –