여러 모니터에서 Vim


9

MacVim 또는 gvim이 여러 (잠재적으로 다른 해상도) 모니터에 걸쳐있는 훌륭한 솔루션을 가진 사람이 있습니까? 별도의 버퍼와 스왑 파일로 인해 2 개의 세션이있는 것은 제대로 작동하지 않습니다.

2 개의 GUI 창에서 동일한 버퍼를 공유 할 수 있다고 생각하지만 작동하는 것을 찾을 수 없습니다.


1
이것에 대한 답도 알고 싶습니다. 이 vimdoc.sourceforge.net/htmldoc/remote.html 이 올바른 방향으로 보입니다. 그러나 아직 시도하지 않았습니다.
Amjith

답변:


1

gvim창을 확장하여 두 화면을 모두 덮고 CTRL-W v편집 창을 세로로 분할하는 데 사용 하십시오.

:help CTRL-W더 많은 창 명령을 참조하십시오 .


1
나는 창문을 나누는 것을 잘 알고 있습니다. 불행히도 다른 모니터 해상도에서는 제대로 작동하지 않습니다. 실제로이 작업을 수행하는 좋은 방법이 아닌 것 같습니다.
Patm

1

또한 종종 다중 모니터를 사용하므로 vim이이 기능을 구현할 때까지 간단한 해결 방법을 만들었습니다. gitv라는 lua 스크립트를 사용하여 여러 GVIM 인스턴스에서 동시에 파일을 열 수 있습니다. 기본적으로 GVIM1과 GVIM2라는 두 개의 GVIM 인스턴스가있을 때 한 번에 하나의 파일 만 편집 가능하고 나머지는 모두 뷰어 인 것입니다. (모든 것이 프롬프트없이 자동으로 수행됩니다.)

워크 플로우 : 현재 gitv는 git 리포지토리 용으로 설계되었으므로 git 리포지토리의 해당 파일에만 사용할 수 있습니다. lsFiles () 함수를 수정하여이 기본 동작을 쉽게 변경할 수 있습니다.

GVIM1에서 a.txt를 먼저 열려면

$ gitv gvimr GVIM1 a.txt

gvim 창이 없으면 열립니다. 그런 다음 다른 인스턴스 GVIM2에서 동일한 a.txt를 열려면

$ gitv gvimr GVIM2 a.txt (또는 $ gvim2 a.txt와 같은 별칭을 만들 수 있습니다)

그런 다음 gitv는 내부적으로 다음을 수행합니다.

  1. "a.txt"가 열려있는 gvim의 모든 인스턴스를 찾으십시오. (이 경우 GVIM1)
  2. 모든 a.txt 버퍼를 "readonly", "nomodifiable"및 "autoread"로 설정하십시오.
  3. "읽기 전용"으로 설정하기 전에 수정 된 버퍼가 디스크에 기록됩니다.)
  4. 스왑 파일을 제거하십시오.
  5. GVIM2에서 a.txt를 다시 엽니 다. 스왑 파일이 없기 때문에 gvim은 문제없이 해당 파일을 열 수 있습니다.

모니터 2 대신 모니터 1에서 a.txt를 편집하려면 다음을 수행하여 활성 버퍼를 전환하십시오. + a.txt

(이것은 데이터 손상을 방지하기 위해 다른 gvim "읽기 전용"인스턴스에서 동일한 버퍼를 자동으로 설정합니다.)

gitv는 http://code.google.com/p/gitv/에서 다운로드 할 수 있습니다 . Linux gvim에서만 테스트되었지만 MacVIM으로 쉽게 포팅 할 수 있습니다.

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