如何增大zsh中fzf-tab配合bat时的预览窗口高度?
解决fzf-tab中bat预览窗口最小高度问题
要给fzf-tab里bat命令的预览窗口设置最小10行高度,不能直接修改全局的FZF_DEFAULT_OPTS——因为fzf-tab有自身的配置优先级,全局参数会被局部配置覆盖,得用它专属的zstyle参数来指定预览窗口选项:
- 新增或修改以下zstyle配置,专门针对bat命令的补全场景设置预览窗口:
zstyle ':fzf-tab:complete:bat:*' fzf-command ftb-tmux-popup --preview-window=down:min:10:wrap
如果不需要tmux弹窗模式,直接用fzf原生参数:
zstyle ':fzf-tab:complete:bat:*' fzf-command fzf --preview-window=down:min:10:wrap
配置参数说明
down:明确指定预览窗口位于搜索框下方,避免出现窗口位置错乱的问题min:10:强制预览窗口最小高度为10行,文件内容超过10行时自动适配高度,不足10行也会保持10行的窗口尺寸wrap:开启内容换行,避免横向滚动查看长文本
为什么之前的全局配置无效?
全局的FZF_DEFAULT_OPTS会被fzf-tab的局部上下文配置覆盖,尤其是当fzf-tab默认使用tmux弹窗模式时,全局参数无法生效。必须针对fzf-tab:complete:bat:*这个特定补全场景,通过fzf-command传递fzf的预览窗口参数。
验证配置效果
可以用你之前的测试命令查看预览窗口尺寸:
zstyle ':fzf-tab:complete:bat:*' fzf-preview 'echo Window size: $FZF_PREVIEW_LINES x $FZF_PREVIEW_COLUMNS'
配置完成后执行source ~/.zshrc重载zsh配置,输入bat 后按Tab触发补全,就能看到预览窗口行数至少为10。
内容的提问来源于stack exchange,提问作者mxcury
相关产品推荐
相关产品推荐

