Есть ли ярлык vim для <имя текущего файла>?

13

В vim, если я работаю над скриптом Python, я обычно набираю:

:! python this_script.py

выполнить скрипт. Есть ли ярлык для имени текущего файла? Если нет, могу ли я легко сделать один? Я новичок в Vim, и я не уверен, как Google для этого.

Эрик Уилсон
источник

Ответы:

20

Вы можете просто использовать %для текущего файла. Эта команда должна служить вашей цели:

:! python %
Дипак Миттал
источник
4
Таким образом, не забывайте, что вы должны заключать %символ в кавычки при использовании таких команд, как :s... :s/Foo\%X//... если вы этого не сделаете, там появится имя файла.
Мэй
0

Еще один способ - использовать действительно хороший пакет для vim: Эффективное свертывание Python: красиво сворачивать код Python и переключаться одним нажатием клавиши, который сворачивает «defs, classes», но также связывает «shift + e» с «save + execute», поэтому круто и полезно!

Зенон
источник
0

К вашему сведению, если вы также используете встроенный интерпретатор Python в Vim, вы можете получить имя с vim.current.buffer.nameатрибутом. Вы также хотите использовать команду: update для автоматической записи файла. У меня есть отображение, как для буферов Python:

nmap ;ru :update<CR>:python pyterm(vim.current.buffer.name)

Это pytermфункция, которая также открывает новый интерпретатор Python в новом окне терминала и запускает его в интерактивном режиме.

Кит
источник
0

Некоторые указатели

:h 'makeprg
:h :make
Морда Капчу
источник