Apakah ada pintasan vim untuk <nama file saat ini>?

13

Dalam vim, jika saya mengerjakan skrip Python, saya biasanya akan mengetik:

:! python this_script.py

untuk mengeksekusi skrip. Apakah ada jalan pintas untuk nama file saat ini? Jika tidak, bisakah saya membuatnya dengan mudah? Saya baru di vim, dan saya tidak yakin bagaimana cara google untuk ini.

Eric Wilson
sumber

Jawaban:

20

Anda bisa menggunakannya %untuk file saat ini. Perintah ini harus melayani tujuan Anda:

:! python %
Deepak Mittal
sumber
4
Jadi, jangan lupa Anda harus mengutip %karakter ketika menggunakan perintah seperti :s... :s/Foo\%X//... jika tidak, nama file akan muncul di sana.
Mei
0

FYI, jika Anda juga menggunakan interpreter Python tertanam di Vim, Anda bisa mendapatkan nama dengan vim.current.buffer.nameatributnya. Anda juga ingin menggunakan perintah: perbarui untuk menulis file secara otomatis. Saya memiliki pemetaan seperti untuk buffer Python:

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

Ini pytermadalah fungsi yang juga membuka juru bahasa Python baru di jendela terminal baru dan menjalankannya dalam mode interaktif.

Keith
sumber
0

Beberapa petunjuk

:h 'makeprg
:h :make
morda kapciu
sumber