Vim 을 사용하는 동안 터미널에 액세스하는 방법이 있습니까?
다른 터미널을 열거 나 현재 터미널을 저장하고 종료하는 것을 좋아하지 않습니다.
Vim 을 사용하는 동안 터미널에 액세스하는 방법이 있습니까?
다른 터미널을 열거 나 현재 터미널을 저장하고 종료하는 것을 좋아하지 않습니다.
답변:
vim에 SIGTSTP 신호를 보낼 수 있습니다. ctrl+ 를 눌러이를 수행합니다 z. Vim은 백그라운드에서 일시 중단되며 터미널을 사용할 수 있습니다. fg
vim으로 다시 시작하려면 터미널을 입력 하십시오.
보너스 팁 : 거의 모든 터미널 응용 프로그램에서 작동합니다. 사용하여 bg
백그라운드에서 계속 실행 응용 프로그램을 활성화합니다.
%
대신에 fg
. 또는 %1
, %2
등 당신은 많은 백그라운드 작업이있는 경우. jobs
명령은 그들을 나열합니다. ( bash
쉘로 가정 )
vim에서 다음을 입력하십시오.
:!sh
:!
외부 프로세스 (이 경우 sh
다른 쉘)를 시작합니다. 쉘을 종료하면 컨트롤은 vim으로 돌아갑니다. vim과 동시에 쉘을 사용 &
하려면 sh 명령 끝에 다음을 추가하십시오 .
:!sh&
:shell
.
http-server
어떻습니까?보고 싶은 로그를 인쇄합니까? 파일로 전환하고 편집 한 다음 로그로 다시 전환하고 싶습니다.
최근 vim부터 다음을 수행 할 수 있습니다.
:terminal
이것은 Vim 8.0.693 에서 처음 추가 되었지만 많은 버그가 있습니다. 참조 :help terminal
:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
모든 답변 외에도.
ConqueTerm 플러그인을 설치할 수 있습니다
이 플러그인은 vim 버퍼 내에서 대화식 프로그램을 실행하는 기능을 제공합니다.
설치 후이 두 줄을 다음에 추가 할 수 있습니다 .vimrc
.
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
그리고 당신은 실행할 수 bash
눌러 Shift+를 T눌러, 닫습니다 현재 Conque 탭 Shift+를W
빠른 열기 / 닫기가 필요한 경우에는 이상적 bash
입니다.
여기에 어떻게 보이는지 gif 가 있습니다.