Mỗi mục nhập vim wikia này, bạn có thể tạo một thực thi shell cho tập lệnh bộ đệm mới và sau đó mở rộng nó để chạy mã của bạn bằng cách sử dụng nút.
command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand(<q-args>)
function! s:RunShellCommand(cmdline)
let isfirst = 1
let words = []
for word in split(a:cmdline)
if isfirst
let isfirst = 0 " don't change first word (shell command)
else
if word[0] =~ '\v[%#<]'
let word = expand(word)
endif
let word = shellescape(word, 1)
endif
call add(words, word)
endfor
let expanded_cmdline = join(words)
botright new
setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap
call setline(1, 'You entered: ' . a:cmdline)
call setline(2, 'Expanded to: ' . expanded_cmdline)
call append(line('$'), substitute(getline(2), '.', '=', 'g'))
silent execute '$read !'. expanded_cmdline
1
endfunction
command! -complete=file -nargs=* RunJS call s:RunShellCommand('node '.<q-args>)
Sau đó, nếu bạn chạy, :RunJS %
bạn sẽ nhận được một bộ đệm mới với đầu ra thực hiện node.js của bạn. Tùy chọn bạn có thể gọi mọi thứ trực tiếp bằng cách sử dụng:Shell <cmd>
:!node %
. Điều này sẽ trình bày ranode
chương trình bên ngoài , chuyển tên tệp hiện tại làm đối số. Đầu ra sẽ được hiển thị trên màn hình và bạn có thể nhấn Enter để loại bỏ nó.