여러 GUI 창에서 Vim / Gvim 사용


25

동일한 세션에 대해 2 개 이상의 (G) vim 창이 있거나 최소한 일부 버퍼를 공유 할 수 있습니까? 여기서 "창"은 VIM 창이 아닌 그놈 (또는 KDE 또는 Windows 등) 창을 나타냅니다.

xinerama와 함께 두 대의 모니터를 사용하고 여러 화면에 걸쳐있는 하나의 거대한 단일 창 대신 두 개의 별도 GUI 창을 열고 싶습니다.


: sp <filename> 또는 : vsp <filename>을 사용해 보셨습니까? 이것은 vim의 창 분할 명령이며 훌륭합니다. 다음은 몇 가지 문서입니다
Tom Stephens

2
@ 톰 스티븐스 : 그리고 그것은 도움이 .. 어떻게? OP는 모니터에서 ONE vim 인스턴스의 vim-windows를 배치하려고합니다. OP는 하나의 vim 인스턴스가 모든 모니터에 걸쳐있는 것을 원하지 않습니다.
akira jan

1
이것은 중요합니다; 에디터가 실제로 자체 창 관리를 수행해서는 안됩니다.
Sam Watkins

답변:


19

현재 gVim은 동일한 프로세스 / 세션에 대해 별도의 '최상위'창을 가질 수 없습니다. 여러 Vim 인스턴스간에 프로세스 간 통신 시스템을 구현하여 별도의 프로세스가 통합 된 것처럼 동작하도록하는 TODO 항목이 있습니다. :help todo"최상위"를 참조하십시오 .


7 년 후, Vim8, 이것은 여전히 ​​할 일 목록에 있습니다.
Al.G.

1
Vim 자선 단체에 기부하고 투표 한 다음 해당 기능에 투표하십시오. vim.org/sponsor/index.php
Heptite

3

Vim과 함께 사용되는 GNU 화면을 살펴보십시오.

첫 번째 창, gnu 화면 및 vim 시작

xterm
screen -S edit
vim

두 번째 창에서 스크린 세션에 연결하십시오.

xterm
screen -x edit

대형 xinerama 데스크톱, 여러 가상 화면 또는 VNC 세션에서 매우 유용합니다. 탭이 많은 Vim 세션 하나만 있으면됩니다.

-톰


1
이 방법으로 동일한 세션의 다른 버퍼를 편집 할 수 없기 때문에이 방법은 약간만 유용하지만 빠르고 간단한 자습서를위한 요점입니다.
Atilla Filiz

흥미롭게도 이것은 tmux를 통해 스크린이 승리하는 지점입니다. tmux에서 다른 클라이언트에서 동일한 세션에 연결하면 두 인스턴스에 걸쳐 미러 된 것을 볼 수 있습니다. 내가 아직하고 싶은 것을 알아 냈습니다!
JonnyRaa

2

질문을한지 얼마되지 않아 많은 것들이 개선되었습니다. Nvidia는 Linux에서 다중 모니터에 대한 드라이버 지원이 훨씬 우수합니다.
KDE로 이동 한 후 Gvim 사용을 중단했습니다. 이제 vim-qt를 사용하고 있습니다. 터미널에서 vim을 사용하지 않으려는 경우 여러 인스턴스를 열 수 있습니다.

편집하다: 내 설정


지금 시도 중입니다.이 여러 인스턴스를 어떻게 사용합니까? 얼굴이 약간 다른 일반 gvim처럼 보입니다.
Atilla Filiz

vim-qt의 두 인스턴스를 시작하면 각 화면마다 하나의 창을 만들고 그 사이에 alt-tab을 만들거나 각 창에 단축키를 지정할 수 있습니다. Vim-qt는 qt 용으로 작성되었으므로 KDE와 같은 qt 기반 데스크탑 환경은 창을 더 잘 활용할 수 있습니다. 즉, 여러 개의 다른 그래픽 창을 열고 그래픽 vim 창을 전체 화면으로 만들 수 있습니다. 일반 gvim으로는 불가능했습니다.
jollyroger

6
시간을 내 주셔서 감사합니다. 그러나 이것은 내가 원하는 것이 아닙니다. 두 개의 별도 GUI 창에서 동일한 버퍼에 액세스하고 싶었습니다. 그리고 버퍼 공유가 여전히 vim의 할 일 목록에 있으므로 불가능합니다 (허용 된 답변 참조).
Atilla Filiz 10

1

각각에 대해 별도의 터미널 창을 사용하여 원하는만큼 vi (m) 세션을 가질 수 있습니다.

그것들을 가로 질러 가지지 않는 것에 관해서는, 당신이 그것들을 전체 화면으로 놓고 데스크탑을 확장하도록 설정된 두 모니터로 확장한다고 가정합니다. 최대화하지 말고 수동으로 터미널 또는 gvim 창 크기를 조정하십시오.

마크를 놓친 경우 조금 더 자세히 설명하십시오.

vim window은 무슨 뜻인가요?

편집하다: 여기에 4 vim 인스턴스가 실행되는 화면 그림이 있습니다.

잘만되면 Heptite는 그것을 쳤다. 나는 이것으로 길을 잃었 기 때문이다.


1
그것은 내가 지금하고있는 일이며, 두 개의 모니터에 걸쳐 수동으로 크기를 조정 한 다음 : vsplit이지만 추악한 것처럼 보이고 때로는 다른 가상 데스크톱에서 일부 버퍼를 보거나 다른 모니터로 하나의 모니터를 덮고 싶습니다. 내가 원하는 것은 두 개의 다른 터미널을 사용하고 두 버퍼에서 동일한 버퍼에 여전히 액세스하는 것입니다.
Atilla Filiz

지금은 이해. Heptite가 당신에게 그 답을 보니 기쁘다.
Dan M.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.