Vim: copy/paste с мишката не работи — Ubuntu, Debian и Kali
След обновяване на Vim до версия 9.x в Ubuntu, Debian и Kali Linux copy/paste с мишката в терминала спира да работи — маркирането влиза във визуална селекция вместо да копира. Проблемът засяга всички терминали, базирани на VTE: GNOME Terminal, Ptyxis и други. По-долу са причината и три начина да се оправи, според това дали искате промяна само за вашия потребител или за цялата машина.
Причината
От Vim 9.0 нагоре mouse=a е включено по подразбиране. Това означава, че Vim прихваща всички събития от мишката – включително десния бутон – и терминалът не получава шанс да покаже своето контекстно меню за copy/paste.
Решение 1: потребителски ~/.vimrc (препоръчано)
Най-добрият подход — личният конфигурационен файл не се презаписва при обновяване на пакета. Създайте ~/.vimrc в домашната директория на вашия потребител:
set mouse=
set nocompatible
syntax on
set mouse= (празна стойност) изключва прихващането на мишката от Vim и терминалът отново работи нормално. Алтернативата set mouse=r също връща контрола на терминала — маркирате текст нормално и копирате с Ctrl+Shift+C / Ctrl+Shift+V. Достатъчен е и еднoредов вариант:
echo "set mouse=r" >> ~/.vimrc
Решение 2: системният defaults.vim
Ако промяната трябва да важи за всички потребители на машината, редактирайте системния файл. Пътят зависи от версията:
# Vim 9.0 (Kali Linux 2023)
sudo vim /usr/share/vim/vim90/defaults.vim
# Провери инсталираната версия ако пътят е различен
vim --version | head -1
Намерете реда set mouse=a и го променете на set mouse=r.
Внимание: промяната е системна и важи за всички потребители, но при обновяване на пакета Vim файлът може да бъде презаписан. Затова Решение 1 е по-трайното.
Проверка — правилната директория
Файлът трябва да е в домашната директория на потребителя, с когото работите. Проверете с:
whoami
echo $HOME
Отворете нов Vim и изпълнете:
:set mouse?
Трябва да покаже mouse= (празно) или mouse=r, според избрания вариант. Ако показва mouse=a – файлът не е на правилното място.
Копиране към системния клипборд без мишка
Ако искате да копирате текст от Vim към клипборда вътре в редактора, инсталирайте vim-gtk3 и използвайте регистъра +:
sudo apt install vim-gtk3
"+y— копира маркираното в системния клипборд"+p— поставя от системния клипборд- Проверка дали clipboard е наличен:
vim --version | grep clipboard(трябва да показва+clipboard)
Бележка за Ptyxis
Ако използвате Ptyxis (новият GNOME терминал от Christian Hergert, включен по подразбиране в Ubuntu 25.04+), имайте предвид, че версия 50.x промени поведението на десния бутон. Горното решение работи, но ако проблемът е извън Vim – проблемът е в самия Ptyxis, не в Vim.