Я работаю над модулем, который должен открыть файл в vim
в произвольной строке и столбце.Я делаю это через exec()
, но vim
не получает правильную строку и столбец:
Если я перегоню это в одну строку:
perl -E "exec(q{vim}, q{+'call cursor(1,3)'}, q{README.md})"
Это ошибкис:
"README.md" 116L, 3790C
Error detected while processing command line:
E20: Mark not set
Press ENTER or type command to continue
Когда vim
показывает эту ошибку, ps
показывает vim +'call cursor(1,3)' README.md
, которая является командой, которую я хочу.Фактически, копирование / вставка vim +'call cursor(1,3)' README.md
в новое окно терминала дает мне желаемое поведение.
Мне кажется, что vim
считает, что строка равна 116, а не 1, и что столбец - 3790, а не3, когда команда запускается через Perl exec()
.
Это Perl 5.26.1, Vim 8.1 и GNU bash, версия 3.2.57 (1) -релиз (x86_64-apple-darwin18).