配置bash别名:用fzf选文件打开neovim,未选中则不启动
解决fzf未选文件时启动空neovim的问题
当前你配置的别名:
alias fe='nvim $(fzf -m --preview="batcat --color=always {}")'
存在的问题是:当按ESC退出fzf且未选择任何文件时,命令替换会返回空值,导致nvim启动一个空窗口。要解决这个问题,只需先判断fzf是否输出了选中的文件,再决定是否启动nvim。
修改后的别名配置如下:
alias fe='selected=$(fzf -m --preview="batcat --color=always {}"); [ -n "$selected" ] && nvim $selected'
原理说明
- 先将fzf的输出保存到
selected变量中 - 通过
[ -n "$selected" ]判断变量是否非空(即是否选中了文件) - 只有当变量非空时,才执行
nvim $selected打开选中的文件;未选文件时,直接返回shell,不会启动nvim
内容的提问来源于stack exchange,提问作者importedgallo
相关产品推荐
相关产品推荐

