Vim은 같은 창에서 bash 명령/make를 실행합니다.

Vim은 같은 창에서 bash 명령/make를 실행합니다.

:make또는 같은 일부 명령을 실행하려고 하면 :!ls완전히 다른 화면/보기에 출력이 표시되고 이 프로세스 중에는 편집 중인 파일이 표시되지 않습니다. 어쨌든 내 파일을 보고 편집할 수 있지만 내가 실행한 명령은 아마도 하단의 창, 아마도 빠른 수정 창에서 실행될 수 있습니까?

답변1

vim 8이나 neovim을 사용하고 있다면 다음을 시도해 보세요.

http://github.com/skywind3000/asyncrun.vim,

훨씬 더 나은 사용자 경험으로 vim-dispatch를 훌륭하게 대체했습니다.

여기에 이미지 설명을 입력하세요

  • 사용하기 쉽습니다. :AsyncRun으로 백그라운드 명령을 시작하기만 하면 됩니다(이전의 "!" cmd와 동일).

  • 명령은 백그라운드에서 수행되므로 전체 프로세스가 완료될 때까지 기다릴 필요가 없습니다.

  • 출력은 빠른 수정 창에 표시되며 오류는 오류 형식과 일치합니다.

  • 오류 출력을 즉시 탐색하거나 실행하는 동안 vim에서 계속 작업할 수 있습니다.

  • 편집에 집중하는 동안 벨을 누르거나 소리를 재생하여 작업 완료를 알려주세요.
  • vim, neovim, gvim 및 macvim에서 해당 사용자 경험을 제공합니다.

답변2

당신은 사용할 수 있습니다vim-디스패치비동기 빌드(make)를 위한 플러그인입니다.

또는 단순히 쉘 명령 결과를 빠른 수정 창으로 표시하려면 ex-mode에서 사용할 수 있습니다.

:cexpr system('ls -alh') | copen

더 나은 방법은 이것을 .vimrc에 추가하는 것입니다.

command -nargs=+ Run :cexpr system('<args>') | copen

ex 모드에서 실행합니다.

:Run ls -alh

답변3

그 행동은 완전히 정상입니다. CLI Vim은 터미널 에뮬레이터와 함께 제공되지 않으며절대하다. 하지만 GUI Vim에는 멍청한 터미널 에뮬레이터가 함께 제공되는데, 내 생각엔 그게 바로 여러분이 "오래전부터 기억하고 있는" 것이라고 생각합니다.

별도의 Vim 창에서 명령을 실행하려면 플러그인이 필요합니다.정복기간지금 기억나는 이름은 이 이름뿐인데 한두 개 더 있는 것 같아요.

답변4

분할할 것인가정력창문이 당신에게 적합합니까?

  • :나뉘다- 창을 수평으로 분할
  • :대분할- 창을 수직으로 분할

그런 다음 파일을 편집하기 위해 창을 사용하고 다음을 통해 실행하기 위해 두 번째 창을 사용할 수 있습니다.:만들다.

관련 정보