Bir çıktı elde etmek mümkün mü:! tüm pencereden ziyade bölünmüş komut?


11

İki bölmeli bir vim oturumum varsa, bir :!komutu yürüttüğümde sonuç tüm pencerede gösterilir. Çıktının sadece etkin bölmede gösterilmesi mümkün müdür?


2
Hayır, bu mümkün değil. :!Yalnızca bir tane olan ve yalnızca ekranın altında olabilen komut satırında gösteriliyorsa çıktı . Aklıma gelen en iyi yeni bir arabellek oluşturmak /: mevcut olanın altında bölünmüş ...
Martin Tournoij

@Carpetsmoker, Benim için çıktısı :!komut satırına gitmiyor. Bunun yerine vim oturumu kaybolur ve daha önce yazdırılanlar da dahil olmak üzere tüm terminal penceresi terminal çıktısını gösterir vim.
drs

1
Belki de kullandığınız terminal ve / veya TERMayar nedeniyle?
Martin Tournoij

Bu fark altscreen (in screen) veya alternatif ekran (in tmux) ile ilgilidir.
tommcdo

Yanıtlar:


8

Bu komutu kullanabilirsiniz:

:new | 0read ! command

Bu, yeni bir bölme açar ve komutun çıktısını bu bölmeye koyar ( ancak şu anda etkin olan bölmede olmasa da ).

yeni - yeni bölüm oluşturur

read - komut çıktısını almak için

komut - gerçek komut


6

Sadece bunu yapmak için bir komut verebilirsiniz:

  1. Yeni bir bölme (veya sekme) açma
  2. Bir komut çalıştırın ve sonuçları bu bölmedeki (veya sekmedeki) gösterin

Komut şöyle bir şey olurdu:

:Rsplit command

veya

:Rtab command

Gözlerinde farklı .vimrcBunu yazabilirsiniz:

" execute a command and show its output in a split window
command! -nargs=* -complete=shellcmd Rsplit execute "new | r! <args>"

" execute a command and show its output in a new tab
command! -nargs=* -complete=shellcmd Rtab execute "tabnew | r! <args>"

Kendi komutlarınızı nasıl yapacağınızı bulabilirsiniz :help :command.


1

Bu mümkün olmayacak. Ekranınızı tmux (IIRC), ekran gibi başka bir araçla bölmeniz gerekecek ...

Ancak, yürütülen programla etkileşime girmeniz gerekmiyorsa, sonuçlarını istediğiniz herhangi bir pencereye (vim anlamda :h windows) doğrudan aktarabilirsiniz :r!command line.:h :r!

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.