ฉันจะเรียกใช้จาวาสคริปต์โดยตรงและแสดงผลลัพธ์ได้อย่างไร


11

ฉันแค่ทำการทดสอบด้วยคุณสมบัติภาษา JavaScript โดยไม่ต้องจัดการ DOM ดังนั้นฉันจึงแก้ไขไฟล์ js และฉันสงสัยว่าจะรันและแสดงเอาต์พุตคอนโซลได้อย่างไร ฉันติดตั้งปลั๊กอินmoll / vim-nodeแต่ไม่ทราบวิธีการเรียกใช้รหัส js


3
:!node %คุณสามารถลองสิ่งที่ต้องการ สิ่งนี้จะเชลล์ออกไปยังnodeโปรแกรมภายนอกส่งผ่านชื่อไฟล์ปัจจุบันเป็นอาร์กิวเมนต์ เอาต์พุตจะปรากฏบนหน้าจอและคุณสามารถกด Enter เพื่อยกเลิก
tommcdo

ความคิดเห็นข้างต้นโดย @tommcdo เป็นคำตอบสั้น ๆ ที่ดีที่ทำให้ฉันพึงพอใจทั้งหมดที่ฉันพยายามทำด้วยวิธีที่ซับซ้อนเช่น slime และ cetera
Jerome

คำตอบ:


5

สำหรับรายการvim wikiaนี้คุณสามารถสร้างการประมวลผลเชลล์ไปยังสคริปต์บัฟเฟอร์ใหม่จากนั้นขยายเพื่อเรียกใช้โค้ดของคุณโดยใช้โหนด

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>)

จากนั้นหากคุณรัน:RunJS %คุณควรได้รับบัฟเฟอร์ใหม่พร้อมกับเอาต์พุตของการเรียกใช้งาน node.js ของคุณ คุณสามารถเลือกใช้สิ่งต่าง ๆ ได้โดยตรง:Shell <cmd>


4

ฉันคิดว่าCodiเป็นสิ่งที่คุณกำลังมองหา รองรับ JavaScript และภาษาอื่น ๆ

ป้อนคำอธิบายรูปภาพที่นี่


3

ไม่จำเป็นต้องใช้ปลั๊กอิน! คุณสามารถเรียกใช้โหนดด้วยคำสั่งเชลล์:!

เรียกใช้ไฟล์ทั้งหมดด้วย :!/usr/local/bin/node %

รันบรรทัดปัจจุบันด้วย :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

ฉันขอแนะนำhttps://github.com/Shougo/vimshell.vimสำหรับวัตถุประสงค์นี้

ปลั๊กอินเสียงเรียกเข้าที่ให้คุณเรียกใช้เทอร์มินัลภายในกลุ่ม คุณสามารถเปิดเครื่องในแท็บใหม่ด้วย

:VimShellTab

หรือหน้าต่างแก้ไขด่วนด้วย

:VimShellPop

จากนั้นคุณสามารถเรียกใช้คำสั่งได้ตามปกติเช่น

node
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.