2014-04-15 3 views
0

팬텀 터치 패드 클릭보다 싫어하는 것이 없기 때문에 텍스트가 임의로 입력 될 수 있습니다. 나는 오히려 타이핑을 임의의 Vim 명령으로 해석하도록하고 싶다. 어쨌든 필자는 삽입 모드를 시각적으로 매우 눈에 띄게 두는 구성을 가지고 있으므로 문제가되지 않습니다.Vim - 클릭 종료 모드 삽입 모드

어떻게해야합니까? Vim에서 마우스 이벤트를 매핑하거나 가로 챌 수있는 방법이 없다고 생각합니다. 나는 아마도 클릭에 발생하는 일종의 autocmd가있을 것으로 기대하고 있습니까?

나는 Vim 명령 행에 대해서만 이야기하고있다. MacVim이나 그와 같은 것이 아닙니다.

inoremap <LeftMouse> <Esc> 

자세한 내용은 :help mouse:help mouse-using를 참조하십시오

:set mouse=a (또는 적어도 :set mouse=i)와

답변

5

또한 전혀 아무것도하지 않고 마우스를 매핑 할 수 있습니다 : OP에 의해

inoremap <LeftMouse> <Nop> 

편집 : 통찰력이 약간의 문제에 대한 완벽한 솔루션이다.

나는 을 선호합니다. 삽입 모드에서 왼쪽 클릭을 무시합니다. 내가이 답변을 너무 좋아하는 이유는 커서의 움직임을 막을뿐만 아니라 (무작위로 팬텀 클릭 한 위치에 텍스트를 표시하는) 1-2 번 펀치를 제공 할뿐만 아니라 Vim이 keys 내가 입력하는 중간에 Vim 명령으로 해석되었습니다. 왼쪽 클릭이 <ESC>에 바인드 될 때 일어날 것입니다.

그러나 때때로 나는 삽입 모드에서 색상을 변경하기 위해 내 전체 상태 표시 줄을 설정하더라도 여전히 삽입 모드에서 창을 변경하기 위해 마우스를 계속 망치로 두드리는 것을 발견했습니다., 주로 바보 같기 때문에 이런 종류의 상황에서 필자가 직면 한 버튼 (이 경우에는 마우스)을 본능적으로 부각 시켰기 때문에 더블 클릭, 트리플 및 쿼드 왼쪽 클릭의 기본 바인딩은 단일 클릭 맵에도 불구하고 여전히 트리거 될 수 있습니다. 네트워크 연결 (실제로는 TCP 기능이 어떤 식으로 고려되는지 실제로 이해하지 못합니다 ...)

따라서이 문제를 해결하고 Vim을 구성하여 내가 삽입 모드임을 깨닫게하려면 여기 균등하다 더 많은 방탄 조약. 그것은 왼쪽 클릭의 기본 기능을 모두 지우고 다양한 비주얼 모드 선택을 적용합니다 (캔슬을 계속하면 다른 곳의 인서트 모드로 돌아가겠습니다. 원래 의도했던대로 원래대로 수정하려고합니다) :

inoremap <LeftMouse> <Nop> "normally causes visual selection mode 
inoremap <2-LeftMouse> <Nop> "normally causes visual word selection mode 
inoremap <3-LeftMouse> <Nop> "normally causes visual line selection mode 
inoremap <4-LeftMouse> <Nop> "normally causes visual block selection mode 
2

, 다음과 같은 매핑을 사용할 수 있습니다.

+0

놀라워요! 예. 고맙습니다. –