[vim] Vim 내부에서 터미널을 어떻게 실행합니까?

나는 Emacs에 익숙하지만 Vim에서 내가 더 좋아하는 것을 보려고 노력하고 있습니다.

내가 Emacs에 대해 좋아하는 것은 Emacs 내부에서 터미널을 실행할 수 있다는 것입니다. Vim 내부에서 가능합니까? Vim에서 명령을 실행할 수 있다는 것을 알고 있지만 탭 내부에서 터미널을 실행할 수 있기를 바랍니다.



답변

나는 screen이와 같은 것을 확실히 추천 할 것입니다. Vim은 텍스트 편집기이며 쉘이 아닙니다.

내가 사용하는 것이 Ctrl+AS수평 현재 창을 분할하거나 우분투의 화면과 다른 패치 버전에서, 당신이 사용할 수있는 Ctrl+A|수직 분할 (파이프). 그런 다음 창 사이를 전환하기 위해 Ctrl+ATab(또는 Ctrl+ACtrl+I입력하기가 쉬운 일부 시스템에서 동일하게) 사용 하십시오. 창의 크기와 배열을 변경하는 다른 명령이 있습니다.

또는 덜 고급 사용은 screen여러 개의 전체 화면 창을 열고 그 사이를 전환하는 것입니다. 이것은 내가 일반적으로하는 일이며, 때때로 분할 화면 기능 만 사용합니다.

GNU 화면 서바이벌 가이드 당신은 그것의 사용에 익숙하지 않은 경우 문제는 좋은 팁을 가지고 있습니다.


답변

구식 2011 년 8 월

Conque Shell ( GitHub 에도 있음)을 확인하십시오 . 쉘뿐만 아니라 vim 내에서 대화 형 프로그램을 실행할 수 있습니다.


답변

정확히 무엇을 달성하려고하는지 잘 모르겠지만 (Emacs를 사용한 적이 없습니다) Vim에서 다음을 입력하여 명령을 실행할 수 있습니다.

:! somecommand [ENTER]

그리고 여러 명령을 입력하거나 쉘에서 잠시 동안 놀고 싶다면 항상 다음을 사용할 수 있습니다.

:! bash (or your favourite shell) [ENTER]

명령 또는 셸이 종료되면을 눌러 Enter편집기 창으로 돌아갈 수 있는 옵션이 제공됩니다

Vim은 Vim 창 / 탭 내에서 본격적인 쉘을 실행하는 것처럼 의도적으로 가볍고 편집자가 아닌 유형의 작업을 수행 할 수있는 능력이 부족하지만 위에서 언급 한 것처럼 vim-shell과 같은 타사 애드온이 있습니다. 그런 종류의 일을합니다.

일반적으로 Vim과 내 셸 (Bash) 사이를 전환하려면 CTRL+ Z를 눌러 Vim 프로세스를 일시 중지하고 셸에서 재생 한 다음 Vim으로 돌아가고 싶을 때 ‘fg’를 입력합니다. 쉘은 훌륭하고 분리되어 있습니다.


답변

이 문제를 해결하는 방법은 다음과 같습니다.

  • Ctrl+로 Vim을 일시 중지하고 Z,
  • 터미널에서 놀고
  • 그런 다음 명령을 입력하여 Vim으로 떠난 곳으로 정확하게 돌아갑니다 fg.

답변

사용중인 Vim 버전에서 활성화 된 경우 :term명령 으로 터미널을 시작할 수 있습니다 .

터미널 창 지원은 Vim 8에 추가되었습니다.이 기능은 Vim을 + 터미널 기능으로 컴파일 할 때 활성화 할 수있는 선택적 기능입니다. 만약 당신의 Vim 버전이 터미널을 지원한다면, :echo has('terminal')“1”을 출력 할 것입니다.

입력 :term하면 터미널 작업 모드로 전환되어 예상대로 터미널을 사용할 수 있습니다.

터미널 – 작업 모드를 누르면 Ctrl-W N또는 Ctrl-\ Ctrl-N으로 모드 전환 터미널 – 일반 커서가 이동하고 명령 빔의 유사으로 실행 할 수 있으며, 일반 모드. 터미널 작업 모드 로 다시 전환하려면을 누르십시오 i.

다른 답변은 Neovim의 유사한 기능을 언급합니다.


답변

:sh그런 다음 ctrl+d다시 들어가십시오 (bash)

업데이트 :

ctrl+dvim에서 run으로 매핑 하여 :shbash와 vim 사이를 빠르게 전환 할 수 있습니다.

noremap <C-d> :sh<cr>


답변

Vim 8.1의 새로운 주요 기능은 Vim 창에서 터미널 실행을 지원하는 것입니다.

:term Vim 내부의 다른 창에서 터미널을 엽니 다.