Как я могу отправить номер строки из трассировки Python в vim?

Я могу разобрать пути к файлам трассировки Python, а затем отправить их в Vim с помощью -p в командной строке, чтобы они открывались по одному файлу на вкладку. Итак, я получаю команду, например,

vim -p main.py module.py another.py

Это открывает каждый файл в новой вкладке, но я бы хотел, чтобы они открывались в новой вкладке, в правильном номере строки. Итак, я пробовал такие варианты, как

vim -p main.py +10 module.py +20 another.py +30

Но я не могу заставить Vim соблюдать номера строк, которые я отправляю в командной строке - он всегда просто берет последний номер строки и применяет его к первой вкладке. Таким образом, пример оставил меня в main.py в строке 30. Пробую такие варианты, как

vim -p main.py+10 module.py+20 another.py+30
vim -p main.py\ +10 "module.py +20" another.py@30

все просто закончилось плохими именами файлов.

Приветствуются ответы на уровне Python, командной строки Bash, скрипта Vim или Vim-Python. Или, действительно, совершенно разные подходы

(Трассировка может поступать откуда угодно, и я не обязательно могу ее контролировать. Тот, который запустил меня сегодня, был просто набором строк в журнале с сервера.)


person jalanb    schedule 04.07.2012    source источник
comment
Помогает ли это вам (в этом случае этот вопрос является дубликатом)?: Открыть несколько файлов в разных строках   -  person ire_and_curses    schedule 04.07.2012
comment
В итоге я создал скрипт Python для исходной проблемы (разбор трассировок в vim), который включал предложенное решение там: github.com/jalanb/dotjab/blob/master/src/python /   -  person jalanb    schedule 29.04.2016
comment
Аналогичный вопрос о Vi StackExchange (мой): vi. stackexchange.com/questions/5110/   -  person Nathaniel M. Beaver    schedule 13.04.2021


Ответы (1)


Попробуйте плагин vim: file_line:

vim -p new main.py:10 module.py:20 another.py:30

Известная проблема: в имени первого файла не должно быть строчного номера. (я пытаюсь понять, ПОЧЕМУ...)

person kev    schedule 04.07.2012