Я не знаю рабочий стол Unity, но я знаю, что он основан на библиотеках GNOME.Поэтому, если вы можете использовать dbus для взаимодействия с буфером обмена Unities, вы можете написать сценарий оболочки, который использует dbus для установки содержимого буфера обмена.Этот скрипт, в свою очередь, может получать входные данные от vim, если вы назначаете карту для команды фильтра.Конечно, это работает аналогично, если вы знаете любую другую утилиту командной строки, которая может устанавливать содержимое буфера обмена.Раньше у меня были следующие карты в .vimrc для старых dcop и klipper (буфер обмена KDE), которые вы могли бы настроить:
:vmap k :w! $HOME/.vimclip<CR>:silent execute "!dcop klipper klipper setClipboardContents \"$(cat $HOME/.vimclip)\" &>/dev/null &"<CR>:redraw!<CR><br>
:nmap z :silent execute "!dcop klipper klipper getClipboardContents > $HOME/.vimclip"<CR>:r $HOME/.vimclip<CR>:redraw!<CR>
Например, чтобы скопировать, нажмите k после выборав визуальном режиме.Обратите внимание, что он копирует и вставляет строку мудро.