Как скопировать из Vim в системный буфер обмена, используя Wayland и без скомпилированного флага функции vim `+ clipboard` - PullRequest
0 голосов
/ 23 апреля 2020

Я не могу скопировать в регистр + или *.

:echo has('clipboard') изнутри Vim возвращает 0 означает, что у меня нет этого признака, я не хочу перекомпилировать.

Я использую Wayland, поэтому я не могу использовать решения на основе X11

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

У меня были проблемы с поиском ресурсов, поэтому вот что в итоге заработало, добавив ~/.vimrc.

nnoremap <C-@> :call system("wl-copy", @")<CR>

wl-copy - это утилиты копирования / вставки из командной строки для Wayland и он скопирует переданный вами контент в системный буфер обмена.

Достигается приведенное выше сопоставление:

  1. Активируйте сопоставление с помощью Ctrl + @. или выберите любую удобную комбинацию клавиш
    • nnoremap <C-@>
  2. взять содержимое регистра ", обозначенного

    • аргументом @"
  3. и содержимым канала @" в качестве аргумента для системы wl-copy функция

    • , показанная :call system("wl-copy", @").

В качестве альтернативы

Предполагая, что вы хотите скопировать только строчные разделы файла, выполните shift + v до go в визуальном режиме и выделите только те строки, которые я хочу скопировать. Затем выполните.

:'<,'>w !wl-copy

, где

  • '<,'> - означает, что вы использовали визуальный режим для выбора диапазона (вы его не вводите)
  • w !{cmd} - укажите диапазон в cmd, подробнее см. :help w_c

. Вы можете отобразить это с помощью

xnoremap <silent> <C-@> :w !wl-copy<CR><CR>
  • xnoremap: отображение будет работать только в визуальном режиме
  • <silent>: отображение, которое не будет отображаться в командной строке
  • <C-@>: требуемая комбинация клавиш
  • :w !{cmd}: записать диапазон в стандартный ввод cmd
  • <CR><CR>: необходимы два ввода, в противном случае командная строка ожидает другую команду
0 голосов
/ 23 апреля 2020

Я некоторое время искал его go и нашел решение для Vim fandom . Хотя в то время я не тестировал его всерьез и продолжал иметь скомпилированную версию с флагом +clipboard. В указанном c ответе используется утилита xsel, но на этой веб-странице также есть некоторые другие конфигурации.

...