2012-03-07 2 views
1

У меня есть Vim73 в Windows, и я пытаюсь переместить файлы через браузер файлов.Как мне получить netrw (в Vim), чтобы использовать абсолютный путь?

Это сообщение выдавало мне ошибку, касающуюся "move", не исполняемого (см. this post). После некоторой отладки я обнаружил, что проблема была в моем vim73\autoload\netrw.vim файле. У меня есть команда перемещения, но есть еще одна проблема - видимо, каталог, в котором я просматриваюсь с :Ex, не является моим текущим рабочим каталогом, поэтому команда mv.exe (из UnxUtils) не может найти источник или пункт назначения.

Линия от netrw, что вызывает проблемы, это одна:

let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt)) 

Я попытался обертывание shellescape() функции в expand(), но это не похоже, чтобы помочь.

Любая идея, как я могу получить абсолютный путь для источника и назначения?

ответ

0

Ну, как оказалось, когда ваш курсор находится на .. в списке файлов, он считает, что каталог.

Все, что мне действительно нужно было сделать, это переместить курсор в область баннера, прежде чем пытаться установить mt - или mt из родительского каталога.

Огонь!

0

Вместо того, чтобы пытаться найти абсолютный путь, будет ли настройка g:netrw_keepdir на 0? Это не совсем то, что вы хотите (я подозреваю, что я должен принять vim CWD и применить его к netrw вместо другого), но если вы в порядке с использованием netrw для управления вашим VIM CWD, ваши команды могут просто работать как есть.

Редактировать: Посмотрите на :help netrw-c для подробного объяснения. Может быть достаточно команды c в netrw.

+0

Кажется, не имеет значения ... Мне нужно взглянуть на эту документацию. –

+0

Оказывается, моя проблема не в том, что я думал (см. Мой собственный ответ) –

Смежные вопросы