Làm cách nào tôi có thể chạy javascript trực tiếp và hiển thị đầu ra?


11

Tôi chỉ đang thực hiện một số thử nghiệm với tính năng ngôn ngữ JavaScript mà không cần thao tác DOM. Vì vậy, tôi đang chỉnh sửa một tệp js và tôi tự hỏi làm thế nào để chạy nó và hiển thị đầu ra giao diện điều khiển? Tôi đã cài đặt plugin moll / vim-nút , nhưng không biết làm thế nào để chạy mã js.


3
Bạn có thể thử một cái gì đó như :!node %. Điều này sẽ trình bày ra nodechươ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ó.
tommcdo

Nhận xét trên của @tommcdo là một giải pháp ngắn gọn tốt, thỏa mãn tất cả những gì tôi đã cố gắng đạt được thông qua các phương tiện phức tạp hơn như chất nhờn, et cetera.
jerky

Câu trả lời:


5

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>


4

Tôi nghĩ Codi là những gì bạn đang tìm kiếm. Nó hỗ trợ JavaScript và một số ngôn ngữ khác.

nhập mô tả hình ảnh ở đây


3

Không cần plugin! Bạn có thể chạy nút bằng lệnh shell:!

Chạy toàn bộ tập tin với :!/usr/local/bin/node %

Chạy dòng hiện tại với :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

Tôi đánh giá cao https://github.com/Shougo/vimshell.vim cho mục đích này.

Đây là một plugin vim cho phép bạn chạy một thiết bị đầu cuối trong vim. Bạn có thể mở thiết bị đầu cuối trong một tab mới với

:VimShellTab

hoặc cửa sổ quickfix với

:VimShellPop

sau đó bạn có thể chạy các lệnh như bình thường, tức là

node
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.