В Vim как открыть проводник в текущем рабочем каталоге? - PullRequest
0 голосов
/ 29 марта 2019

В windows я хочу открыть explorer.exe в текущем рабочем каталоге.

Я пробовал это, но не работает

nnoremap <leader>e :!start explorer /select,getcwd()<CR>

Я получил его от того, который работает (но открывает текущий буферный файл, а это не то, что мне нужно)

nnoremap <leader>f :!start explorer /select,%:p<CR>

1 Ответ

0 голосов
/ 30 марта 2019

getcwd() не раскрывается перед передачей в интерпретатор команд.

Обходной путь, измененный из справки для :! и :exe, будет следующим:

nnoremap <leader>e :execute "!start explorer /select," . shellescape(getcwd(),1)

Результат функции getcwd() добавляется к команде !start перед передачей в интерпретатор оболочки / команды, а функция shellescape() используется для выхода из любого пробела илидругие специальные символы, которые могут быть в пути, хотя это не должно быть проблемой для Windows Explorer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...