Windows환경의 Vim x64에서 CtrlSF 플러그인이 동작하지 않으면 아래와 같이 shellescape을 적당히 바꾸어 준다.
--- a/autoload/ctrlsf/backend.vim
+++ b/autoload/ctrlsf/backend.vim
@@ -110,7 +110,11 @@ func! s:BuildCommand(args) abort
endif
" pattern (including escape)
- call add(tokens, shellescape(ctrlsf#opt#GetOpt('pattern')))
+ if has('win32')
+ call add(tokens, '"' . ctrlsf#opt#GetOpt('pattern') . '"')
+ else
+ call add(tokens, shellescape(ctrlsf#opt#GetOpt('pattern')))
+ endif
" path
call extend(tokens, ctrlsf#opt#GetPath())
--- a/autoload/ctrlsf/opt.vim
+++ b/autoload/ctrlsf/opt.vim
@@ -139,7 +139,11 @@ func! ctrlsf#opt#GetPath() abort
let resolved_path = expand(path, 0, 1)
for r_path in resolved_path
- call add(path_tokens, shellescape(r_path))
+ if has('win32')
+ call add(path_tokens, '"' . r_path . '"')
+ else
+ call add(path_tokens, shellescape(r_path))
+ endif
endfo
endfo
else
@@ -151,7 +155,11 @@ func! ctrlsf#opt#GetPath() abort
if empty(path)
let path = expand('%:p')
endif
- call add(path_tokens, shellescape(path))
+ if has('win32')
+ call add(path_tokens, '"' . path . '"')
+ else
+ call add(path_tokens, shellescape(path))
+ endif
endif
return path_tokens