Javascript'i nasıl doğrudan çalıştırabilir ve çıktıyı gösterebilirim?


11

Ben sadece DOM manipülasyon olmadan JavaScript dil özelliği ile bazı testler yapıyorum. Yani bir js dosyasını düzenliyorum ve nasıl çalıştıracağını ve konsol çıkışını nasıl göstereceğimizi merak ediyorum? Moll / vim-node eklentisini kurdum , ancak js kodunu nasıl çalıştıracağımı bilmiyorum.


3
Böyle bir şey deneyebilirsiniz :!node %. Bu node, geçerli dosya adını bağımsız değişken olarak geçirerek harici programa yönlendirilir. Çıktı ekranda görüntülenecektir ve kapatmak için Enter tuşuna basabilirsiniz.
tommcdo

@Tommcdo'nun yukarıdaki yorumu, balçık, et cetera gibi daha karmaşık yollarla elde etmeye çalıştığım her şeyi tatmin eden iyi bir özlü çözümdür.
jerome

Yanıtlar:


5

Bu vim wikia girişi başına , yeni tampon komut dosyasına bir kabuk yürütmesi oluşturabilir ve daha sonra düğümü kullanarak kodunuzu çalıştıracak şekilde genişletebilirsiniz.

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

Sonra çalıştırırsanız :RunJS %, node.js yürütme çıktısı ile yeni bir arabellek almalısınız. İsteğe bağlı olarak, doğrudan:Shell <cmd>


4

Sanırım Codi aradığınız şey. JavaScript ve diğer bazı dilleri destekler.

resim açıklamasını buraya girin


4

Eklenti gerekmez! Düğümü shell komutuyla çalıştırabilirsiniz:!

Tüm dosyayı şununla çalıştır: :!/usr/local/bin/node %

Geçerli satırı şununla çalıştır: :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

Bu amaç için https://github.com/Shougo/vimshell.vim tavsiye ederim .

Vim içinde bir terminal çalıştırmanıza izin veren bir vim eklentisidir. Terminali ile yeni bir sekmede açabilirsiniz.

:VimShellTab

veya hızlı düzeltme penceresi

:VimShellPop

komutları her zamanki gibi çalıştırabilirsiniz, yani

node
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.