Czy istnieje sposób na dostęp do terminala podczas korzystania z Vima ?
Nie lubię otwierać innego terminala ani zapisywać i wychodzić z bieżącego terminala.
vim
process
background
Mohammad Reza Rezwani
źródło
źródło
Odpowiedzi:
Możesz wysłać vimowi sygnał SIGTSTP. Robisz to, naciskając ctrl+ z. Vim zostanie zawieszony w tle i będziesz mógł korzystać z terminala. Wpisz
fg
terminal, aby wznowić pracę z vimem.Dodatkowa wskazówka: Działa to na prawie wszystkich aplikacjach terminalowych. Użyj,
bg
aby umożliwić kontynuowanie działania aplikacji w tle.źródło
%
zamiastfg
. Albo%1
,%2
itp jeśli masz dużo pracy w tle.jobs
polecenie wyświetli je. (Zakładając,bash
że to skorupa.)W vimie po prostu wpisz:
:!
uruchamia proces zewnętrzny - w tym przypadkush
kolejną powłokę. Kontrola powróci do vima po wyjściu z powłoki. Jeśli chcesz używać powłoki jednocześnie z vimem, dodaj&
na końcu polecenia sh:źródło
:shell
.http-server
i wypisuje dzienniki, które chcę wyświetlić? Chciałbym mieć możliwość przełączania się na moje pliki, dokonywania edycji, a następnie powrotu do dzienników.Możesz użyć
:shell
polecenia (lub skróconego formularza:sh
). Od:help :shell
:Domyślnie w Ubuntu daje ci to bash. wpisz,
exit
aby powrócić do vima, gdy skończysz.źródło
Od ostatniego vima możesz teraz:
Zostało to początkowo dodane w Vimie 8.0.693 , ale z dużą ilością błędów. Zobacz
:help terminal
:źródło
Jako dodatek do wszystkich odpowiedzi.
Możesz zainstalować wtyczkę ConqueTerm
Ta wtyczka zapewnia możliwość uruchamiania interaktywnych programów wewnątrz buforów vim.
Po instalacji możesz dodać 2 wiersze do
.vimrc
:Będziesz mógł uruchomić
bash
, naciskając Shift+ T, i zamknij bieżącą kartę Conque, naciskając Shift+WJest to idealne rozwiązanie, jeśli potrzebujesz szybkiego otwierania / zamykania
bash
.Oto gif pokazujący, jak to wygląda
źródło
Inną opcją z ekranem lub byobu jest otwarcie karty w tych programach. Programy te dość łatwo utrzymują otwartą powłokę cq sesji terminalowej i przełączają się między tymi ekranami za pomocą klawiatury.
źródło
Dzięki nowej wersji vim 8.1 wszystko, co musisz zrobić, to just
:terminal
and voila! (to jest wbudowane)źródło