В vim вы можете просто перенаправить любой диапазон вашего текущего буфера на внешнюю команду (будь то bash, python или ваш собственный скрипт на python).
# redirect whole buffer to python
:%w !python
предположим, что ваш текущий буфер содержит две строки, как показано ниже,
import numpy as np
print np.arange(12).reshape(3,4)
тогда :%w !python
запустит его, сохранится он или нет. и напечатать что-то вроде ниже на вашем
терминал,
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
Конечно, вы можете сделать что-то постоянное, например, некоторые сочетания клавиш.
nnoremap <F8> :.w !python<CR>
vnoremap <F8> :w !python<CR>
первая строка текущего запуска, вторая визуальная выборка запуска через интерпретатор python.
#!! be careful, in vim ':w!python' and ':.w !python' are very different, the
first write (create or overwrite) a file named 'python' with contents of
current buffer, the second redirect the selected cmdline range (here dot .,
which mean current line) to external command (here 'python').
диапазон cmdline, см.
:h cmdline-ranges
не ниже единицы, относящейся к обычной команде, а не cmdline one.
:h command-range
вдохновлено https://stackoverflow.com/a/19883963/3625404