Как создать команду в vim, которая обращается к текущему имени файла?

#vim

#vim

Вопрос:

Я хотел бы создать отдельную команду vim, которая выполняет следующее:

  1. сохраните текущий файл
  2. запустите текущий файл с помощью python

В настоящее время я должен сделать это следующим образом:

:w

:! python3 {filename}

Вместо этого я хотел бы сделать это:

:pyRun

или что-то подобное

Комментарии:

1. :set autowrite и вы можете просто сделать это, :!python3 % не прибегая :w к первому.

Ответ №1:

Вы можете объединить команды с | . Итак

 :w | ! python3 %
  

сохранит буфер и запустит его с помощью python3.

Смотрите :help :bar и :help c_% для получения дополнительной информации.

Вы можете создать команду для этого, например:

 :command PyRun execute 'w <bar> ! python3 %'
  

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