Не удается открыть буфер vim в сценарии python - PullRequest
1 голос
/ 05 мая 2020

Я пытаюсь написать сценарий python, который создает новые файлы, которые я часто использую. Все это работает. Я go в каталоге, в котором я хочу создать свои файлы (.tex), а затем выполнить мой sript.py. Мои новые файлы здесь.

После этого я хотел бы автоматически открыть окно vim с моим основным файлом, в котором я могу начать писать. Это тоже работает с этой строкой:

os.system('vim '+nom_fichier+'.tex')

Теперь моя проблема:

Я также хотел бы открыть два других файла в качестве буферов в моем сеансе vim в конце моего скрипта. Я пробовал:

vim.command('e other_file.tex')

, но это не работает. Я должен уточнить некоторые другие вещи:

  1. В vim работает следующая команда и открывает новый буфер:

    : python3 vim.command ('e newfile. txt ')

  2. Я использую версию vim 8.0.

  3. После импорта модуля vim я получаю сообщение об ошибке, сообщающее мне, что этот модуль не существует

Я думаю, что проблема в этом последнем пункте, но я не знаю, что делать.

1 Ответ

2 голосов
/ 06 мая 2020

Как упоминалось в phd, вы не можете импортировать модуль vim, потому что он встроен в Vim. Однако, если ваша цель - просто открыть несколько файлов, вы можете передать несколько аргументов в командной строке, и это будет работать нормально. Затем вы можете переключаться между ними, используя :bnext (или :bn) или используя любой метод, который вы обычно используете для переключения буферов.

Если вам нужно сделать более сложные вещи, вы можете попробовать клиент / сервер функциональность, или вы можете написать функцию Vim в своем .vimrc (например, TexStart), а затем добавить запускать ее при запуске следующим образом:

os.system('vim +"call TexStart()" ' + nom_fichier + '.tex')
...