Vim 창에서 쉘을 어떻게 열 수 있습니까?


112

Vim에서 : shell 명령을 사용하여 쉘을 열 수 있지만 파일을 편집 할 수없고 동시에 쉘을 사용할 수 없습니다.

여러 Windows (또는 탭)에서 Vim을 분할하고 그중 하나에서 셸을 열 수있는 방법이 있습니까?


1
vim에 대한 쉘 패치가 있었지만 더 이상 컴파일되지 않습니다. 진정한 셸에 가장 가까운 방법은 screen 또는 tmux를 사용하는 것입니다. 이것이 제가 vim에서 놓친 가장 큰 것입니다.
Randy Morris

답변:


85

Neovim과 Vim 8.2:ter[minal]명령을 통해 기본적으로이를 지원합니다 .

자세한 내용 terminal-window은 문서를 참조하십시오.


5
이것은 vim> = 8.0에 대해 허용되는 솔루션이어야합니다.
amath

3
터미널을 수직으로 분할하는 방법은 무엇입니까?
Kiran Kumar Kotari

2
@KiranKumarKotari Neovim을 사용하는 vsplit term://bash경우 시도 하십시오.
prater

4
vim 8.0 이상에서 terminalcommand는 창을 분할하고 창 상태 표시 줄에 특수 색상의 명령 셸을 제공합니다. 멋진.
NoelProf

@KiranKumarKotari vert [ical] ter [
minal

46

글쎄 그것은 당신의 OS에 달려 있습니다-실제로 나는 MS Windows에서 테스트하지 않았지만 Conque 는 최고의 플러그인 중 하나입니다.

실제로 더 좋을 수 있지만 작동합니다.


4
Vundle을 사용하여 플러그인을 관리하는 경우 .vimrc 파일에 Bundle 'jewes / Conque-Shell'을 추가하고 : BundleInstall을 실행하여 설치할 수 있습니다.
Mingjiang Shi

주의해야 할 사항 : vi에 대한 + python 또는 + python3 요구 사항은 일부 작업 환경에서 킬러가 될 수 있습니다.
CFI

이것은 (스크린 샷) 업데이트 된 URL입니다 : github.com/wkentaro/conque.vim
Walty Yeung의

18

:vsp또는 :sp-vim을 두 개의 인스턴스로 분할하지만 그중 하나에서만 : shell을 사용할 수 없습니다.

vim의 다른 탭이 아닌 터미널의 다른 탭을 표시하지 않는 이유는 무엇입니까? 당신이 아이디어를 좋아한다면 당신은 그것을 시도 할 수 Ctrl-shift-t.와 그들 사이의 이동 Ctrl - pageupCtrl - pagedown

몇 가지 쉘 명령 만 원하면 vim에서 다음을 사용하여 쉘 명령을 만들 수 있습니다. !

예를 들면 :!./a.out.


1
현재 열려있는 실행 파일을 실행하려면 다음 vim과 같이 경로 매직을 사용할 수 있습니다 .:!./%
cprn

터미널의 다른 탭을 표시하지 않는 이유는 무엇입니까? 모든 사람이 GUI 위의 터미널 에뮬레이터에서 vim을 사용하는 것은 아닙니다 Ctrl.-당신의 대답이 gnome-terminal 또는 유사한 에뮬레이터를 가정한다고 가정합니다.
törzsmókus

8

당신은 사용할 수 있습니다 tmux또는 screen터미널을 분할 (두 번째 패치없이 오직 수평 분할을 할 수있다). 하지만 두 창에 Vim 인스턴스가 하나있는 방법을 모르겠습니다.


4
화면은 git에서 빌드하면 수직 분할을 할 수 있습니다.
Randy Morris

8

아직 찾지 못했다면 놀라운 화면 플러그인을 사용할 수 있습니다 .

Conque 도 예외적이지만 화면이 훨씬 더 실용적이라고 생각합니다 (예를 들어 버퍼를 "쓰레기"하지 않고 버퍼에서 편집 한 후 원하는 명령을 보낼 수 있습니다).


6

이것은 상당히 오래된 질문이라고 생각합니다.하지만 이제 2017 년입니다. 우리는 터미널 지원을 추가하는 vim의 포크 인 neovim을 가지고 있습니다.

따라서 호출 :term하면 터미널 창이 열립니다. tmux (터미널 멀티플렉서)를 사용하는 것과 반대되는이 솔루션의 장점은 vim설정 과 동일한 창 바인딩을 사용할 수 있다는 것 입니다. neovim은 vim과 호환되므로 기본적으로 복사하여 붙여 넣을 수 .vimrc있으며 작동합니다.

더 많은 장점은 열린 터미널에서 일반 모드로 전환 할 수 있으며 기본 복사 및 편집을 수행 할 수 있다는 것입니다. 버퍼의 모든 것이 자동 완성에서 사용할 수 있기 때문에 git 커밋에도 꽤 유용합니다.

vim은 아마도 vim 8.1에서 터미널 지원을 릴리스 할 계획 이므로이 답변을 업데이트 할 것입니다. 여기에서 진행 상황을 확인할 수 있습니다. https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM

일단 출시되면 tmux를 사용하는 것보다 더 우수한 설정이라고 생각합니다.


6
Vim 8.0에서 출시 된 것 같습니다
LangeHaare

3

쇼고의 타테의 VimShell neocomplcache와 함께 사용할 경우 캔 자동 완성 파일 이름을,


1

절대적으로 요구하는 것은 아니지만 사용자가 백그라운드 프로세스를 유지하고 현재 문서의 일부를 평가하고 문서에 출력을 작성할 수 있도록하는 플러그인 vim-notebook에 관심이있을 수 있습니다 . 평가할 코드 조각을 포함하는 노트북 스타일 문서에 사용하기위한 것입니다.


0

"화면"프로그램을 열고, 분할 화면을 열고, 하나에서 쉘을 열고, 다른 하나에서 vim을 열 수 있습니다. 나를 위해 작동합니다.


설명이 없어서 -1을 취소했습니다. 게다가 vim screen 플러그인 솔루션을 테스트했는데 mrcybul 솔루션과 크게 다르지 않습니다. @mrcybul : 도움을 주려는 탱크. 비추천을받지 않으려면 다른 답변을주의 깊게 읽고 새로운 답변이 있다고 생각되는 경우에만 답변을 추가하세요. 또한 특정 경우에 솔루션이 더 나은 이유를 포함하십시오.
Titou

0

현재 tmux를 사용하고 있습니다.

설치 : sudo apt-get install tmux 실행 : tmux

Ctrl + b 다음에 Ctr + % : 터미널 창을 두 개의 수직 반으로 나눕니다.

Ctrl + "왼쪽 화살표 | 오른쪽 화살표": 터미널 사이를 이동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.