Рішення - це насправді, встановлення параметра 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 є варіант для цього: The /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