Я новичок в vim, и мне трудно понять некоторые тонкости работы со сценариями vim. В частности, , Я m возникают проблемы при работе с командами, которые ожидают строку без кавычек (есть ли для этого имя?). Например,
cd some/unquoted/string/path
Проблема в том, что я хотел бы передать переменную, но при вызове
let pathname = 'some/path'
cd pathname
будет предпринята попытка изменить текущий каталог на 'pathname' вместо 'some / path'. Один из способов обойти это - использовать
let cmd = 'cd ' . pathname
execute cmd
, но это кажется немного окольным. В этом вопросе StackOverflow на самом деле используется cd
с переменной, но он не работает в моей системе («a: path» рассматривается как путь, как описано выше).
Я использую cd
в качестве конкретного примера, но это поведение не уникально для cd
; например, команда edit
также ведет себя подобным образом. (Есть ли название для этого типа команды?)