ZSH中实现选择FZF结果后自动执行命令的方法
ZSH中实现选择FZF结果后自动执行命令的方法
我太懂这种小烦恼了!在ZSH里用FZF搜完想要的命令、文件或者目录,选中后还得再按一次回车才能执行,总觉得多了一步没必要的操作。不过好在有朋友分享了解决方案,亲测好用:
直接把下面这段配置加到你的ZSH配置文件(比如~/.zshrc)里就行:
export FZF_COMPLETION_TRIGGER="" setopt vi # 移除FZF默认的<TAB>按键绑定 fzf-and-run-widget() { fzf-completion zle accept-line } zle -N fzf-and-run-widget bindkey '^[^I' fzf-and-run-widget
简单说下每部分的作用:
export FZF_COMPLETION_TRIGGER="":清空FZF默认的补全触发键setopt vi:开启Vi模式,以此移除FZF原本绑定的键 fzf-and-run-widget():自定义一个小部件,先执行FZF补全逻辑,再调用zle accept-line自动触发回车执行命令zle -N fzf-and-run-widget:把这个自定义小部件注册给ZSH的行编辑器bindkey '^[^I' fzf-and-run-widget:把功能绑定到Ctrl+Alt+Tab组合键(你也可以改成自己顺手的快捷键)
配置完后重启终端,或者执行source ~/.zshrc让配置生效,下次用快捷键唤起FZF选完结果,命令就会自动执行啦!
备注:内容来源于stack exchange,提问作者isi_ko
相关产品推荐
相关产品推荐

