我想沉默是对printf
的第9行中发现,因为我觉得这恼人的/usr/share/fish/functions/__fish_move_last.fish
。
我该怎么办,如果没有在复制整个功能?
如果我只是复制到~/.config/fish/functions/
文件和注释行9,当原来的功能在新版本中得到更新,我就能把事情。
我宁愿沉默的是这样的功能:
functions -c __fish_move_last __fish_move_last_ORIG
function __fish_move_last
__fish_move_last_ORIG $argv >/dev/null
end
但是,如果我把在~/.config/fish/functions/__fish_move_last.fish
该片段中,我得到这个错误:
鱼:无法自动加载项“__fish_move_last”,它已经被自动加载。这是自动加载脚本循环依赖,请删除它。
我试图在文件的开头明确的加载原有的功能,以避免自动加载,但它并没有使错误消失:
source /usr/share/fish/functions/__fish_move_last.fish
functions -c __fish_move_last __fish_move_last_ORIG
function __fish_move_last
__fish_move_last_ORIG $argv >/dev/null
end
什么是这里的正确的做法?
我该怎么办,如果没有在复制整个功能?
你不知道。
解决的办法是,确实是,复制整个功能。
当原有的功能在新版本中得到更新,我就能把事情。
从理论上讲,这是可能的。然而,在这种特殊情况下,它的最后一个变化是
因此,我认为你是安全的。
如果你还是担心这个,你也可以复制此功能和所有依赖于它(prevd和nextd,我会承担)。
或者你可以沉默prevd和nextd,或沉默那些__fish_move_last
s输出。
任何形式的功能压倒一切的任意位看起来他们会更容易出错,而不是更少。