Open Adnn opened 1 year ago
I created the PR above #1434.
This addresses the case of shell=cmd
issue with the preview pane.
I am happy to get feedback and rework the PR to get it accepted.
There is a PR 3002 in fzf repository to address the problem with :Buffers
not working at all.
@junegunn there is another similar problem. preview.sh
isn't found in non-wsl vim. I think the checking for if the session is in WSL is wrong, unless I'm mistaken to assume s:is_wsl_bash
says if current session is in bash. This small change fixes it. See :h WSL
for explanation.
diff --git a/autoload/fzf/vim.vim b/autoload/fzf/vim.vim
index 44a17f6d194a..88728af9ae11 100644
--- a/autoload/fzf/vim.vim
+++ b/autoload/fzf/vim.vim
@@ -30,7 +30,7 @@ set cpo&vim
let s:min_version = '0.23.0'
let s:is_win = has('win32') || has('win64')
-let s:is_wsl_bash = s:is_win && (exepath('bash') =~? 'Windows[/\\]system32[/\\]bash.exe$')
+let s:is_wsl_bash = exists('$WSLENV')
let s:layout_keys = ['window', 'up', 'down', 'left', 'right']
let s:bin_dir = expand('<sfile>:p:h:h:h').'/bin/'
let s:bin = {
I met the same question. Is there any progress?
Same issue here @junegunn...do you have any suggestion?
I'm not a Windows user so I can't be of help. You can help by testing the patch suggested by @Adnn.
I had the same problem, cannot get it to work so I end up using powershell for now...
Not sure this helps, but I basically setup the init.vim
with output of :shell shell-powershell
, something like this:
let &shell = executable('pwsh') ? 'pwsh' : 'powershell'
let &shellcmdflag = '-NoLogo -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.UTF8Encoding]::new();$PSDefaultParameterValues[''Out-File:Encoding'']=''utf8'';'
let &shellredir = '2>&1 | %%{ "$_" } | Out-File %s; exit $LastExitCode'
let &shellpipe = '2>&1 | %%{ "$_" } | Tee-Object %s; exit $LastExitCode'
set shellquote= shellxquote=
Then in git-bash seems most of the stuff is working, however still could see errors saying something related to boarder from time to time.
Is this still an issue? I check with the latest Fzf master shell and Vim source files, the FZF binary 0.52.1 on Windows 11, and the supplied Vim in Git 2.40. in Windows Terminal and Mintty. Both commands, :Buffers
and :Files
, work fine.
man fzf
)I have been using fzf successfully under Ubuntu bash shell.
But there are several issues when trying to use in with git-bash shell on Windows 10.
edit: Using Neovim version 0.8.0-1210-gd367ed9b2
Without
set shell
If I do not set the shell in my
init.vim
, the shell is:Then I cannot get any
fzf
command to execute. E.g.fails with error:
With
set shell=cmd
fzf
commands:Files
and:Rg
work, as they show the pop-up window that is searchable. But the preview does not work::Buffers
does not work at all. There is an error showing in the pop-up windowI would be interested to address these issues, but I never worked with vim script, nor this project sources, so I would need directions. I am most interested to address the first case (without setting a shell, which then uses git's
bash.exe
). From the error, I suppose the problem is thatbash
fails to executefzf - -version
because the absolute path is starting withC:\Users
, which is not a valid git-bash path.Any pointer where this path is generated in the plugin code?