Trong vim, bạn chỉ có thể chuyển hướng bất kỳ phạm vi của bộ đệm hiện tại của bạn với một lệnh bên ngoài (có thể là bash, python, hoặc bạn sở hữu kịch bản python).
# redirect whole buffer to python
:%w !python
giả đệm hiện tại của bạn chứa hai dòng như dưới đây,
import numpy as np
print np.arange(12).reshape(3,4)
sau đó :%w !python
sẽ chạy nó, có thể là lưu hay không. và in cái gì đó như dưới đây về thiết bị đầu cuối của bạn,
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
Tất nhiên, bạn có thể làm một cái gì đó dai dẳng, ví dụ, một số keymap.
nnoremap <F8> :.w !python<CR>
vnoremap <F8> :w !python<CR>
dòng đầu tiên chạy hiện tại, lựa chọn trực tiếp chạy thứ hai, thông qua trình thông dịch 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').
cho phạm vi cmdline, xem
:h cmdline-ranges
không dưới một, mà liên quan đến lệnh bình thường, không cmdline một.
:h command-range
lấy cảm hứng từ https://stackoverflow.com/a/19883963/3625404
bạn có thể có một cái nhìn tại phản ứng của tôi? Tôi nghĩ nó trả lời đúng câu hỏi của bạn. –