`gnome-terminal ‘환경에서`vim`에서 마우스 지원 비활성화 한 다음

편집 : 활성화 된 마우스의 문제는 vim특정 gnome-terminal버전 인 것으로 보입니다 (버전 3.4.1.1-1; 나는 그놈 3 대체 모드를 사용하고 있습니다). 을 실행 xterm하면 마우스 지원 기능 vim이 기본적으로 비활성화되어 있으며 활성화 :set mouse=a하지 않고 (비활성화하지 않음) 비활성화하는 옵션이 있습니다 ( :set mouse=). 반대로, vim에서 실행할 때 gnome-terminal기본적으로 마우스 지원이 활성화되어 :set mouse=있으며 비활성화 할 수 없습니다 (효과 없음). 터미널 에뮬레이터를 바꾸는 것이 부족한 해결책이 있습니까?


에서 마우스 지원을 완전히 비활성화하고 싶습니다 vim. 나는 실행하고 vim통해 7.3.547-3 : 버전 2 gnome-terminal버전 3.4.1.1-1. vim에서 직접 실행하거나 .vimrc파일에 추가 한 다음 명령은 마우스 지원을 비활성화하지 못합니다.

set mouse =
set mouse =""

vim 매뉴얼과 온라인 게시물을 읽은 것을 바탕으로이 명령 중 하나 또는 둘 다 작동합니다. 특히, vim 매뉴얼은 다음과 같이 말합니다.

'mouse'                 string  (default "", "a" for GUI, MS-DOS and Win32)
    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.

랩톱을 사용하고 있는데 손으로 트랙 패드를 닦을 때마다 vim의 커서 위치가 갑자기 움직입니다.



답변

나는 많은 리눅스 맛 으로이 나쁜 행동을 일으키는 것을 발견했습니다.

/usr/share/vim/vim80/defaults.vim # may be "vim81" depending on your vim version

파일 ~/.vimrc/etc/vimrc없거나 /etc파일 이있는 경우에도 ‘소스’입니다 . 따라서 파일이 없으면 @lgpasquale에서 제안한대로 빈 파일을 만듭니다.

mkdir ~/.vim/; [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc

defaults.vim에서 가져온 다른 기능 (구문 강조 표시 등)이 마음에 들면 이전 명령 대신이 명령을 사용할 수 있습니다.

mkdir ~/.vim/; [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vim\nset mouse=" > ~/.vim/vimrc

답변

마우스 지원은 기본적으로 비활성화되어 있으므로 무언가 켜져 있습니다. 아마도 당신 set mouse=이 실패 하는 이유 는 그것이 무엇을 켜기 전에 실행되기 때문입니다. vimrc의 나머지 부분과 시스템 전체의 vimrc ( /etc/vim/vimrc표준 위치)를 살펴 보겠습니다 .

최후의 수단으로,이 추악한 해킹을 수행하면 편집기를 제어하기 전에 명령을 마지막으로 수행 할 수 있습니다.

autocmd BufEnter * set mouse=

답변

Fedora Server 25 호스트의 OS X “터미널”앱에서이 문제가 발생했습니다. .vimrc에서 다음과 같이 영구적으로 해결했습니다.

set mouse=
set ttymouse=

이제 마우스로 터미널의 스크롤 백에서 이전 bash 기록으로 스크롤 할 수 있습니다.


답변

마우스에 대한 새로운 Vim의 민감도에 대한 불만이 거의 동일했습니다. 사용하는 set mouse=""것도 나를 위해 그것을하지 않았다.

파일 set mouse=c하단에 따옴표 가 없습니다 .vimrc. 그것은 “PuTTY”를 사용하여 직장에서 내 (웃음) Windows 컴퓨터에서 ssh로 들어갈 때를 제외하고는 Vim이 마우스를 사용하지 못하게하는 것처럼 보였습니다. PuTTY에 붙여 넣으려면 Shift-Middle 버튼을 사용해야합니다.

2018-03-30 편집 : :mouse=원치 않는 마우스 효과를 없애기 위해 vim의 일부 원격 (CentOS 6.7) 인스턴스에서 : (따옴표 또는 아무것도 사용 하지 않음)를 사용하기 시작했습니다 .


답변

이것을 다음에 추가하십시오 .vimrc.

if has("gui_running")
    "echo "yes, we have a GUI"
    set mouse=a
else
    "echo "Boring old console"
    set mouse=
endif

답변

데비안 스트레치에 일부 중앙 설정이로드 된 로드 /etc/vim/vimrc/etc/vim/vimrc.local. 참조 /etc/vim/vimrc:

...
" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
"let g:skip_defaults_vim = 1
...

이 파일의 기본값은 /usr/share/vim/vim80/defaults.vim입니다. 이제 아래 중앙 파일 변경 /usr/share/...IS를

  • 비 영구적이면 업데이트 후 되돌립니다.

skip_defaults_vim위의 행을 주석 해제하여 설정 하면 해당 파일에서 설정 한 다른 모든 옵션이 제거됩니다. 원하지 않는 옵션을 제거하려면 다음을 입력하십시오 /etc/vimrc.local.

" /etc/vim/vimrc.local
" honor skip_defaults_vim from the master /etc/vim/vimrc file
if ! exists('skip_defaults_vim')
  " Source the defaults file manually from here
  source $VIMRUNTIME/defaults.vim
endif

" avoid loading the defaults twice
let g:skip_defaults_vim = 1

" revert any unwanted changes the defaults file introduced
set mouse=

" set any other options you want centrally on your system
"set paste " uncomment if you want paste insert enabled
"...

이렇게하면 defaults.vim수동으로로드되고 자동로드가 꺼 지므로 .vimrc모든 사용자 계정에 대해 설정을 만들지 않고도 원치 않는 설정을 되돌릴 수 있습니다.


답변

당신이 neovim (nvim) 당신이 놓아야 사용하는 경우 약간, 질문과 관련 set mouse=하여에 ~/.config/nvim/init.vim구성 파일을.

디렉토리가 존재하지 않으면 mkdir -p ~/.config/nvim/