여기에서는 일부 VM 서버가 Debian 9로 업그레이드되었습니다.
지금 사용하면 ssh
원격 터미널 간에 복사하여 붙여넣을 수 없습니다.
커서가 움직이고 텍스트를 표시하는 것처럼 보이지만 평소보다 더 흥미롭고 다른 방식이지만 Command C/Command V를 실행하거나 해당 메뉴에 복사하여 붙여넣을 때 클립보드에 아무것도 복사되지 않습니다.
또한 Shift 및 기타 키보드 조합을 사용하여 마우스를 움직여 보았지만 긍정적인 결과는 없었습니다.
이는 OS/X, 즉 Sierra 및 El Capitan과 Windows에서도 mobaXterm 터미널을 사용하여 발생합니다.
이 상황은 vim의 마우스 인식으로 인해 발생합니다.
Stack Overflow의 다른 질문을 바탕으로 잘 작동하지 /etc/vim/vimrc.local
않았습니다 set mouse="r"
.set mouse="v
set mouse=""
결국 동일한 파일에 설정을 완료하여 약간의 성공을 거두었습니다.
그러나 항상 100% 잘 작동하지는 않습니다. 또 무엇을 할 수 있나요?
답변1
해결책: 로컬로 mouse=a
변경 mouse=r
하십시오 .vimrc
.
/usr/share/vim/vim80/defaults.vim
허용되는 답변에서 알 수 있듯이 이 옵션을 설정할 때의 문제는 업데이트할 때마다 덮어쓰여진다는 것입니다. 나는 오랫동안 검색하여 마침내 다음을 발견했습니다.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864074
로컬 솔루션(결함 있는):
첫 번째 해결 방법은 로컬 .vimrc 파일을 사용하여 해당 위치에 설정하는 것입니다.
따라서 각 사용자에 대해 로컬 .vimrc()를 만들고 ~/.vimrc
거기에서 옵션을 설정할 수 있습니다. 또는 /etc/skel
새로 생성하는 모든 사용자에 대해 자동으로 생성되도록 새로 생성하세요 .
하지만 로컬 파일을 사용할 때는 .vimrc
거기에 모든 옵션을 설정해야 합니다. 로컬 파일이 있으면 전혀 로드되지 않기 .vimrc
때문 입니다! defaults.vim
로컬 파일이 없으면 .vimrc
모든 설정을 덮어쓰게 됩니다 defaults.vim
.
글로벌 솔루션(우선의):
모든 사용자에 대해 기본 옵션을 로드한 다음 개인 설정으로 기본값을 추가하거나 재정의하는 전역 구성을 갖고 싶습니다./etc/vim/vimrc.local
다행히 데비안에는 put in 옵션이 있습니다 /etc/vim/vimrc
. 따라서 이 파일을 만들고 기본값을 로드하고, 다시 로드되는 것을 방지한 다음(마지막에) 개인 옵션을 추가할 수 있습니다.
다음 파일을 생성해주세요:/etc/vim/vimrc.local
" This file loads the default vim options at the beginning and prevents
" that they are being loaded again later. All other options that will be set,
" are added, or overwrite the default settings. Add as many options as you
" whish at the end of this file.
" Load the defaults
source $VIMRUNTIME/defaults.vim
" Prevent the defaults from being loaded again later, if the user doesn't
" have a local vimrc (~/.vimrc)
let skip_defaults_vim = 1
" Set more options (overwrites settings from /usr/share/vim/vim80/defaults.vim)
" Add as many options as you whish
" Set the mouse mode to 'r'
if has('mouse')
set mouse=r
endif
( $VIMRUNTIME
위 코드 스니펫에 사용된 값은 와 유사하니 참고하세요 /usr/share/vim/vim80/defaults.vim
.)
"이전 복사/붙여넣기 동작"도 활성화하려면 파일 끝에 다음 줄을 추가하세요.
" Toggle paste/nopaste automatically when copy/paste with right click in insert mode:
let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
function! XTermPasteBegin()
set pastetoggle=<Esc>[201~
set paste
return ""
endfunction
답변2
vim을 마우스 인식과 독립적으로 만드는 한 가지 방법은 마우스 관련 구성을 주석 처리하는 것 같습니다.
/usr/share/vim/vim80/defaults.vim
다음과 같이 마우스 관련 감지에 대해 주석을 달았습니다 .
" In many terminal emulators the mouse works just fine. By enabling it you
" can position the cursor, Visually select and scroll with the mouse.
"if has('mouse')
" set mouse=r
"endif
(이 vim 구성 파일에서는 "댓글이 시작됩니다.)
이 변경을 통해 문제 없이 다시 복사하여 붙여넣을 수 있습니다.
나는 의견에 동의합니다. 프로필이 보호되거나 전송되지 않으면 모든 업데이트에서 덮어쓰게 되므로 이는 이상적인 솔루션이 아닙니다. 당시에는 패키지 버전이나 제가 작업 중인 서버 구성의 세부 사항 때문에만 유효했습니다. 그래서 나는 이 대답을 여기에 남겨두고,최후의 수단으로만 사용해야 합니다..
답변3
이것mouse
이 옵션에 대한 Vim 문서설명하다
Shift 키를 누르고 있으면 xterm의 마우스 버튼 처리를 계속 사용할 수 있습니다.
답변4
많은 사람들이 제안했지만 복사 및 붙여넣기는 Debian 9의 Vim에서만 활성화할 수 있다는 :set mouse=a
것을 알았습니다 . :set mouse=r
행운을 빌어요!