자바 스크립트를 직접 실행하고 출력을 표시하려면 어떻게해야합니까?


11

DOM 조작없이 JavaScript 언어 기능으로 테스트를하고 있습니다. 그래서 js 파일을 편집 중이며 단순히 파일을 실행하고 콘솔 출력을 표시하는 방법이 궁금합니다. 나는 설치된 매춘부 / 정력 노드 플러그인을,하지만 아이디어는 어떻게 JS 코드를 실행할 수 없습니다.


3
당신은 같은 것을 시도 할 수 있습니다 :!node %. node현재 파일 이름을 인수로 전달하여 외부 프로그램으로 셸됩니다 . 화면에 출력이 표시되고 Enter를 눌러 닫을 수 있습니다.
tommcdo

@tommcdo의 위의 의견은 점액과 같은보다 복잡한 수단을 통해 달성하려고했던 모든 것을 만족시키는 좋은 간결한 솔루션입니다.
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

나는 코디 가 당신이 찾고있는 것이라고 생각 합니다. JavaScript 및 다른 언어를 지원합니다.

여기에 이미지 설명을 입력하십시오


3

플러그인이 필요하지 않습니다! 쉘 명령으로 노드를 실행할 수 있습니다:!

전체 파일을 실행 :!/usr/local/bin/node %

현재 줄을 :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

이 목적으로 https://github.com/Shougo/vimshell.vim 을 적극 권장 합니다.

vim 내에서 터미널을 실행할 수있는 vim 플러그인입니다. 당신은 새로운 탭에서 터미널을 열 수 있습니다

:VimShellTab

또는 Quickfix 창

:VimShellPop

평소와 같이 명령을 실행할 수 있습니다.

node
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.