解决方案实际上是将选项设置mouse=a
为mouse=r
。
/usr/share/vim/vim80/defaults.vim
如已接受的答案所述,将其设置为一个问题是,它将在每次更新时被覆盖。我搜索了很长时间,最后找到了这个:https :
//bugs.debian.org/cgi-bin/bugreport.cgi?bug=864074
第一种解决方案是使用本地.vmrc文件并在此处进行设置。
因此,您可以~/.vimrc
为每个用户创建一个本地.vimrc()并在那里设置选项。或创建一个,/etc/skel
以便为您创建的每个新用户自动创建一个。
但是,当您使用本地.vmrc文件时,必须在此处设置所有选项,因为如果存在本地.vimrc
,则defaults.vim
根本不会加载!如果没有本地.vimrc
设置,所有设置都将被覆盖defaults.vim
。
我确实希望为所有用户提供全局配置,该配置会加载默认选项,然后使用我的个人设置添加或覆盖默认设置。幸运的是,在Debian中有一个选项:/etc/vim/vimrc.local
将在之后加载/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