Vim은 백그라운드에서 명령을 실행하지만 vsplit에서는 실시간으로 출력을 표시합니다.

Vim은 백그라운드에서 명령을 실행하지만 vsplit에서는 실시간으로 출력을 표시합니다.

파일 작업을 하는 동안 vim에서 터미널 명령(예: 빌드)을 실행하는 동시에 vsplit에 출력을 실시간으로 표시하려면 어떻게 해야 합니까?

답변1

당신은 사용해야합니다job_start 함수이를 위해. 별도의 프로세스 인스턴스에서 명령을 호출합니다. 이 호출에 버퍼 이름을 전달할 수 있으며 vim은 작업 프로세스의 STDOUT 및 STDERR 파이프를 이러한 버퍼에 연결합니다. 데이터가 이러한 버퍼에 게시될 때 콜백 등록, 실행 중인 작업 유형 등과 같은 다양한 추가 작업도 가능합니다.

Example:
        let logjob = job_start("tail -f /tmp/log",
                             \ {'out_io': 'buffer', 'out_name': 'dummy'})
        vsplit | buffer dummy

관련 정보