Jeśli mam sesję vim z dwoma podziałami, kiedy wykonam :!
polecenie, wynik zostanie wyświetlony w całym oknie. Czy możliwe jest wyświetlanie wyników tylko w aktywnym podziale?
11
Jeśli mam sesję vim z dwoma podziałami, kiedy wykonam :!
polecenie, wynik zostanie wyświetlony w całym oknie. Czy możliwe jest wyświetlanie wyników tylko w aktywnym podziale?
:!
są wyświetlane w wierszu polecenia, którego jest tylko jeden, i mogą znajdować się tylko na dole ekranu. Najlepsze, co mogę wymyślić, to utworzenie nowego bufora /: podziału pod bieżącym ...:!
nie trafiają do wiersza poleceń. Zamiast tego sesja vim znika, a całe okno terminalu pokazuje dane wyjściowe terminala, w tym to, co zostało wydrukowane przedvim
jego wywołaniem.TERM
ustawienia?screen
) lub alternatywnego ekranu (intmux
).Odpowiedzi:
Możesz użyć tego polecenia:
Spowoduje to otwarcie nowego podziału i umieszczenie danych wyjściowych polecenia w tym podziale ( choć nie w aktualnie aktywnym podziale, jak wspomniano ).
źródło
Możesz wykonać polecenie, aby to zrobić:
Polecenie wyglądałoby mniej więcej tak:
lub
W swoim
.vimrc
możesz napisać to:Możesz dowiedzieć się, jak tworzyć własne polecenia
:help :command
.źródło
To nie będzie możliwe. Będziesz musiał podzielić ekran za pomocą innego narzędzia, takiego jak tmux (IIRC), screen, ...
Jeśli nie musisz wchodzić w interakcje z wykonanym programem, możesz jednak zaimportować jego wyniki bezpośrednio w dowolnym oknie (w sensie vim
:h windows
), z którym chcesz:r!command line
.:h :r!
źródło