Vim открытый файл определяется внешним скриптом - PullRequest
0 голосов
/ 08 августа 2011

У меня есть строка в одной из моих функций

silent! exec "r!sh myScript '" . a.1 "'

, которая выводит вывод myScript в текущий буфер.

myScript выводит одно имя файла.Вместо того, чтобы печатать имя файла в буфере, я хотел бы открыть этот файл.

Я пробовал что-то вроде

silent! exec "open!sh myScript '" . a.1 "'
silent! exec "new!sh myScript '" . a.1 "'
let l:file = silent! exec "sh myScript '" . a.1 "'
    new l:file

, но, похоже, ни один из них не работает.

Я что-то упускаю из виду?

1 Ответ

2 голосов
/ 08 августа 2011

Я бы предложил использовать функцию system () следующим образом:

let path=system("myScript ... ")
let path=substitute(path,"\n","","g")
exec "edit" path

Обратите внимание, что промежуточная команда substitute может потребоваться для удаления ошибочных символов новой строки. Если это не нужно, не беспокойтесь об этом. Конечно, вместо edit вы можете использовать split или vsplit и т. Д., Чтобы удовлетворить ваши потребности.

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