2012-12-04 4 views
7

mousefocus 옵션은 gVim에서만 작동합니다. 하지만 콘솔 Vim을 마우스 클릭에 대한 응답으로 다른 창으로 전환하는 것이 가능하다면 다음 마우스 동작을 쉽게 추가 할 수 없습니까?초점은 vim에서 마우스를 따라 간다

저는 xmonad 사용자입니다. 포인터 기능에 초점을 맞추기를 좋아합니다. Vim에서 글쓰기 동안 많은 PDF보기 및 탐색을 수행하며, 계속 보관하지 않으면 더 행복해집니다. 정신적으로 두 가지 다른 유형의 초점을 앞뒤로 전환했습니다.

완전히 불가능하다면 터미널의 새로운 인스턴스에서 새로운 Vim 창을 여는 것이 더 쉽지 않을 것이라고 생각합니다.

답변

4
set mouse=a 

트릭을 수행해야하지만 아마 터미널 에뮬레이터에 의존 할 것입니다. :help 'mouse'을 참조하십시오.

+1

여전히 마우스를 클릭하여 창을 선택해야하는 경우, 창에서 클릭하지 않고도 포인터 아래의 창을 선택하는 방법이 있습니다. – qqx

+0

흠, 네 말이 맞아. 그리고 당신의 대답은 upvote를 얻습니다. – romainl

9

이 정보를 추가하는 것은 간단하지 않습니다. 터미널 내에서 마우스를 사용하면 vim이 터미널에 제어 코드를 보내서 마우스 동작을 입력 스트림의 일부로 보내도록 요청합니다. 터미널은 포인터 위치의 변경 사항이 아닌 클릭 수만보고하므로 vim은 마우스의 위치를 ​​알 수 없습니다.

큰 변화에 따라 vim이 X 지원을 통해 X 서버에서 직접 포인터 활동을 얻는 것은 가능할 수 있지만 문자가 아닌 픽셀로보고 될 가능성이 높으므로 추가 작업이 필요합니다 현재 어떤 vim 창이 포인터 아래에 있는지 확인할 수 있습니다.

이 윈도우 7 작동
+0

답변 해 주셔서 감사합니다. 나는 이것을 추한 방법으로 해결하는 방법에 대해 생각해 왔다고 생각한다. 쓸만한 것이 있으면 여기에 올리겠습니다. –

+0

스크롤링은 urxvt 및 xterm에서 작동합니다. –

+0

@ErcanErden 스크롤링은 어떻게 관련이 있습니까? 나에게 이것은이 질문과 관련된 방식으로 작동하지 않는다. 스크롤 휠을 사용하면 포인터가 끝났을 때 선택되지 않은 vim 창이 스크롤됩니다. – qqx

0

은/Cygwin에서는 32 비트 mintty/정력 7.3 : (! 내가 gvim을 사용하지 마십시오)

이 설치 갖는 http://ehiti.de/katmouse/, 내 커서 아래 창을 스크롤 할 수 있습니다 선택 클릭 한하지 않고 창, 하나의 vim-windows 클릭 선택. 그것은 vim 창을 전경으로 끌어 당기지 않습니다. 다른 창과 겹치면 원하는 창이면됩니다. 여전히 그것을 클릭 선택하지 않고 스크롤 할 수 있습니다.

그래서 :
OS 수준에서 원하는 마우스 동작을 구현하는 배포 용 소프트웨어 패킷이 있는지 확인하십시오. Cygwin에서 자체 컴파일 된 vim에서 작동하는 경우 Linux의 console vim에서도 잘 작동합니다.

여기에이 게시물은 증거로 제공되며, 이것이 가능하다는 이유만으로 이것이 언급되지 않은 이유입니다. 내가 리눅스를 다시 사용할 때이를 더 조사하고이 게시물을 업데이트하지만, 시간이 걸릴 수 있습니다.

켜기 set mouse=a : vim 도움말에 마우스 입력을 처리 할 수있는 터미널이 필요하다고 나와 있습니다. 자세한 정보는 here을 참조하십시오. :help ttymouse도 유용 할 수 있습니다. 예를 들어 xterm 호환 콘솔이 있고 :help term이 다른 것으로 설정되어있는 경우


UPDATE (. 갓 패키지 페도 19 설치없이 자동으로 컴파일 물건)

페도 19 + se mouse=a = 독립적으로 서로 옆 개방 여러 버퍼 단일 콘솔 VIM 창의 스크롤 작동합니다. 사용 된 창 관리자는 LXDE입니다.

+0

이 기능은 vim 창 (단일 OS 레벨 창에서 여러 파일이 열리는 경우) 또는 OS 수준 창에서만 작동한다고 말하고 있습니까? 임의의 프로그램으로 인해 vim 창이 작동하도록하는 경우 꽤 놀랄 것입니다. – qqx

+0

@qqx 단일 터미널 에뮬레이터 창 (mintty.exe 사용)이 열리면 콘솔 vim이 실행되고있을 때 설명한 동작이 작동합니다. 콘솔 vim에는 여러 창을 나란히 열었습니다. KatMouse가 실행되는 동안, 마우스 커서가 문제의 vim 창의 경계 내에 있으면 각 vim 창을 스크롤 할 수 있습니다. 화면 또는 tmux와 같은 것은 사용되지 않습니다. 'se mouse = a'가 필요합니다. – sjas

관련 문제