마우스 (: set mouse = a)가 켜져있을 때 vim의 복사-붙여 넣기가 작동하지 않습니까?


52

vim에서 다른 응용 프로그램으로 붙여 넣기를 시도하고 해당 응용 프로그램에서 vim마우스로 마우스 오른쪽 버튼을 클릭 한 다음 복사 및 붙여 넣기 (또는 Ctrl+ vCtrl+를 사용하여 mac OSX 용 버전을 c사용해 보았습니다 Command). 그러나 그것을 시도 vim할 때, 응용 프로그램 에서 또는 응용 프로그램에서 복사 할 때 첫 번째 단어 만 복사하고 vim모든 것을 복사하지만 이상한 탭과 공백을 삽입합니다. 터미널에서 마우스를 켰을 때 이런 일이 일어났다 고 생각합니다. 에서처럼 :

:set mouse=a

.vimrciTerm (mac os x)의 파일에 해당 줄이 있습니다 . 비록, 내 사본에없는 다른 응용 프로그램과 붙여 넣기 할 수 있습니다 vim으로 중단 할 수 없습니다 mouse=a에? 아니면 복사 붙여 넣기를 수행하는 동안 마우스를 끄는 것이 가능합니까? 나는 :help마우스를했지만 의견은 나에게 유용 하지 않았다 . 여기에 붙여 넣을 수 있지만 ... 복사 붙여 넣기 도구가 손상되었습니다!

나는 시도해 봤어 :set mouse!하고 :set mouse=a!있지만 이러한 유용한 아무것도하지 않았다 ... :(


내 환경에 대한 추가 정보 :

나는 또한 대부분의 시간 동안 tmux를 사용하고 있지만 tmux 세션 없이이 오류 / 버그를 테스트했기 때문에 주로 vim 질문으로 게시했습니다.


4
동사를 vim사용하여 기본 선택에 잘 적응할 수 있다고 말할 수 있습니다 y. 왜 당신이 그것을 사용하지 않는지 모르겠습니다.
HalosGhost

1
어떻게해야할지 모르겠 기 때문에 무능력에 대해 사과드립니다. 당신이 그것을 언급 할 때까지 나는 그것이 존재하는지도 몰랐습니다. 지식을 공유하십시오! :)
Pinocchio

macvim 입니까?
Patrick

아니, 그것은 단지 iTerm이 아닙니다 (질문에서 언급했지만 좋은 질문입니다).
피노키오

답변:


66

mouse=a 읽을 수있는 문자로 vim을 복사하여 붙여 넣는 기능을 방지합니다.

로 변경 mouse=a하면 mouse=r문제가 해결됩니다.

한 가지 궁금한 점은 마우스가 mouse = a로 설정된 상태에서 vim의 구성 파일을 변경하고 있습니까?

정답

경우 mouse=r옵션으로 변경 과거의 당신에게 모든 사본을 제공하지 않습니다mouse=v

모두 mouse=r와는 mouse=v당신이 필요로하는 동일한 기능을 가지고 있지만의 vimrc에 따라 당신은 하나가 다른 더 좋은 작동 사용하고 있습니다.


또한 텍스트를 강조 표시하고 마우스 가운데 버튼을 사용하여 다른 장소로 붙여 넣었습니다. Ctrl + v와 Ctrl + c를 시도 할 때 더 잘 작동하는 경향이 있습니다
bgrif

나는 당신의 질문이 무엇을 one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?의미하는지 모르겠습니다 :mouse=a. 내가해야합니까 :mouse=a내의 .vimrc 파일 파일.
피노키오

1
그냥 --with-x=yes? 넣을 필요가 :set --with-x=yes mouse=a없습니까? 무슨 뜻인지 알겠 니?
피노키오

1
당신이 결합해야하는 경우 나 연구하자 --with-x=yesset mouse=a. 내가 그것에 대해 읽을 때 내가 본 것은 그 자체가 구성 파일에 있다는 것입니다. 그러나 그것은 다를 수 있으므로 나는 당신에게 맞는 올바른 것을 말하고 싶습니다.
bgrif

1
고마워요,이 제안은 mouse = v를 가진 매력처럼 작동합니다
Pamungkas Jayuda

21

OS X 사용자의 경우 : 텍스트를 선택하는 대신 mouse=a사용하여 붙여 넣기를 복사 합니다. 다음 과 작업 예상대로.altShiftcmd-ccmd-v

많은 인터넷 검색 후 https://stackoverflow.com/a/4608387/671639 에서이 답변을 찾았습니다 .


당신은 신입니다 ...... : ')
omerjerk

나를 위해 일한 유일한 것, 감사합니다!
Don

3
나를 위해 OSX에서 "shift"또는 "alt"대신 "fn"으로 작동합니다.
ssasa


6

Bharath의 솔루션Shift 은 복사하는 동안을 눌러 수행하지만 번호 매기기 또는 해시 주석의 경우 복사하려는 것보다 더 많이 복사합니다.

mouse = a로도 그렇게하는 한 가지 방법 V은 단일 커서 를 누르 거나 Shift+ V를 사용하여 시각 모드를 사용 Y하는 것 입니다. 화살표로 위나 아래로 이동하고 복사하거나 D잘라 내기 위해 사용할 수 있습니다.


@Anthon, 윌, 설명해 주셔서 감사합니다.
amrx

1
나는 당신이 스스로 발음 한 주석을 수정하여 개조 자들이 그대로 남겨 두는 방식과 같은 답변으로 만들었습니다 (그리고 당신은 그것에 대해 평판을 얻었을 수 있으므로 주석을 달 수 있습니다). 원본이 약간 수정 된 경우 주석 처리가 더 적절했을 것입니다.
Anthon

5

같은 문제가 있습니다 : 마우스를 사용하여 강조 표시 할 수 없으므로 터미널 세션의 VIM에서 Windows 문서 및 브라우저로 복사하여 붙여 넣을 수 없습니다. 다음을 수행했으며 이제는 작동합니다.

: set clipboard=unnamedplus
: set mouse=r

4

참조 : http://vimdoc.sourceforge.net/htmldoc/options.html

참조 하단의 참고 섹션을보십시오
. 마우스를 활성화 할 때 Shift 키를 누른 상태에서 마우스 버튼을 계속 사용할 수 있습니다. 여기에는 마우스 버튼을 사용한 복사 붙여 넣기가 포함됩니다.

*'mouse'* *E538*
'mouse'         string  (default "", "a" for GUI, MS-DOS and Win32)
            global
            {not in Vi}
    Enable the use of the mouse.  Only works for certain terminals
    (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
    sysmouse and Linux console with gpm).  For using the mouse in the
    GUI, see |gui-mouse|.
    The mouse can be enabled for different modes:
        n   Normal mode
        v   Visual mode
        i   Insert mode
        c   Command-line mode
        h   all previous modes when editing a help file
        a   all previous modes
        r   for |hit-enter| and |more-prompt| prompt
    Normally you would enable the mouse in all four modes with:
        :set mouse=a
    When the mouse is not enabled, the GUI will still use the mouse for
    modeless selection.  This doesn't move the text cursor.

    See |mouse-using|.  Also see |'clipboard'|.

    Note: When enabling the mouse in a terminal, copy/paste will use the
    "* register if there is access to an X-server.  The xterm handling of
    the mouse buttons can still be used by keeping the shift key pressed.
    Also see the 'clipboard' option.

1
참조에 기여해 주셔서 감사하지만 질문에 대답 합니까? 그렇다면 실제 답변의 요약을 제시하여 인용 부분을 식별 할 수 있습니까?
G-Man

0

질문의 두 번째 부분은 다른 응용 프로그램에서 붙여 넣기 할 때 탭 / 공백을 추가한다고 지정했습니다. 일반 모드에서 붙여 넣기 전에 ~ / .vimrc 세트 페이스트 또는 vim에 이것을 추가해보십시오. "shift"+ ":"를 누르고 "set paste"를 입력하십시오.


0

in 로 설정 한 경우에도 y복사 (잉크) 및 p붙여 넣기에 사용할 수 있습니다 . 사용 + 텍스트를 강조 할 수 있습니다. 전체 행을 빠르게 복사하려면 +를 사용하십시오 .:set mouse=a~/.vimrcvarrow keysshifty


0

내 Mac에서는 그 두 가지가 도움이되었습니다.

  • : 세트 마우스-= a
  • fn + 클릭 (shift 또는 alt 대신)

0

추가 클립 보드 버퍼가 실제로 필요하지 않은 경우 아래의 두 줄 ~/.vimrc을 사용하여 멋진 기능을 모두 gui-mouse사용하고 y(잉크 키)를 사용하여 시스템 클립 보드에 붙여 넣으십시오 .

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