LINUX.ORG.RU

vim old path save

 ,


0

1

перед каким-то действием, которое приведет к смене path:

let s:old_path=expand('%:p:h')

После действия хочу восстановить оригинальный path

cd s:old_path

Итог:

E344: Can't find directory "s:old_path" in cdpath

Ничего в поисковике не нашлось, поэтому пишу тут. PS: при этом в old_path путь сохранился и я его нормально вывожу с помощью echom

★★★★

Последнее исправление: bryak (всего исправлений: 1)

:cd принимает путь, а не выражение, выражение надо раскрывать до передачи в :cd:

execute 'cd' fnameescape(s:old_path)

xaizek ★★★★★
()

Через exec надо, через конкатенацию строк. Да, viml никчемное говно.

A1
()
Ответ на: комментарий от bryak

Кстати, в последних версиях vim, можно заюзать модификатор :S.

salsa
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.