DOM 조작없이 JavaScript 언어 기능으로 테스트를하고 있습니다. 그래서 js 파일을 편집 중이며 단순히 파일을 실행하고 콘솔 출력을 표시하는 방법이 궁금합니다. 나는 설치된 매춘부 / 정력 노드 플러그인을,하지만 아이디어는 어떻게 JS 코드를 실행할 수 없습니다.
답변
이 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>
답변
답변
플러그인이 필요하지 않습니다! 쉘 명령으로 노드를 실행할 수 있습니다:!
전체 파일을 실행 :!/usr/local/bin/node %
현재 줄을 :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))
답변
이 목적으로 https://github.com/Shougo/vimshell.vim 을 적극 권장 합니다.
vim 내에서 터미널을 실행할 수있는 vim 플러그인입니다. 당신은 새로운 탭에서 터미널을 열 수 있습니다
:VimShellTab
또는 Quickfix 창
:VimShellPop
평소와 같이 명령을 실행할 수 있습니다.
node