【发布时间】:2015-04-24 13:16:22
【问题描述】:
有一段时间,我使用autojump 在我的文件系统中导航。它做得很好,但我希望它能够打开文件(在我最喜欢的编辑器中)——fasd 这样做。不幸的是,fasd 两年多没有任何提交。我也看过 fzf 但没有 zsh 完成。
最近有没有类似 fasd、fzf 和 autojump 的积极开发项目? (带有 fasd 功能集)
我的问题与this 问题有关。
【问题讨论】:
有一段时间,我使用autojump 在我的文件系统中导航。它做得很好,但我希望它能够打开文件(在我最喜欢的编辑器中)——fasd 这样做。不幸的是,fasd 两年多没有任何提交。我也看过 fzf 但没有 zsh 完成。
最近有没有类似 fasd、fzf 和 autojump 的积极开发项目? (带有 fasd 功能集)
我的问题与this 问题有关。
【问题讨论】:
这看起来像是宣传,(那种是),但我开发的一个 zsh 插件可以帮助你做到这一点。
这与fasd 或autojump 的工作方式并不完全相同,因为您必须注册并命名您的收藏夹 目录。 (这当然可以存储在配置文件中,我正在考虑在 fasd 上添加学习灵感。)
注册后,您将获得一个变量来引用目录,以及一个调度程序别名来跳转到目录、子目录、执行一些命令等等。
子目录支持补全,很快就会添加到editsubcommand。
如果你想看看,here is the github repo and the readme,如果你想尝试一下,让antigen 运行antigen bundle AdrieanKhisbe/diractions
【讨论】:
回答:https://stackoverflow.com/a/69686155/13658418 和 https://stackoverflow.com/a/69685874/13658418
添加到~/.zshrc:
fasd-fzf-cd-vi() {
item="$(fasd -Rl "$1" | fzf -1 -0 --no-sort +m)"
if [[ -d ${item} ]]; then
cd "${item}" || return 1
elif [[ -f ${item} ]]; then
(vi "${item}" < /dev/tty) || return 1
else
return 1
fi
zle accept-line
}
zle -N fasd-fzf-cd-vi
bindkey '^e' fasd-fzf-cd-vi
Ctrl-E 使用 fasd、fzf、vim 和 cd 搜索/导航:
【讨论】: