Не удалось скопировать из vim в системный буфер обмена

Как сказано в названии, я не могу скопировать из vim в системный буфер обмена.

У меня установлена ​​поддержка буфера обмена, версия vim - 7.3.429:

$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+xsmp_interact +xterm_clipboard -xterm_save 

У меня есть: [ ! d2]

set clipboard=unnamedplus

в моем .vimrc, и он установлен, когда я делаю:

set clipboard?

или

:echo has('clipboard')

Я использую Ubuntu 12.04 LTS, и vim внутри gnome-terminal (но и GVim имеет ту же проблему). Любая идея?

Спасибо

1
задан 2 February 2017 в 20:09

2 ответа

Я собираюсь оставить исходный ответ ниже, потому что для других, которые ищут этот вопрос, может быть важно.

Короче говоря, похоже, что один размер не подходит для всего ответа, но с «set clipboard = unnamedplus» один из «* p» или «+ p» должен работать из буфера обмена «system».

'* p' почти наверняка тот, который вы хотите. (отсюда)

vim - это программа cli. При использовании его внутри gnome-терминала (или любого эмулятора терминала) crtl + c (или любая комбинация клавиш) обрабатывается первым эмулятором терминала, затем оболочкой, а затем, наконец, программой (vim в этом случае). vim и ctrl + c почти наверняка никогда не будут работать, потому что ctrl + c отправляет сигнал SIGINT в текущую задачу. vim использует SIGINT, чтобы остановить другие действия, такие как прерывание режима вставки или остановка функций поиска.

Другими словами. Ctrl + C никогда не передается VIM. SIGINT передается VIM. У SIGINT есть другие возможности использования в vim, поэтому использование для копирования, скорее всего, не сработает (и даже если вы можете это сделать, это не очень хорошая идея).

Вместо этого попытайтесь придерживаться Ctrl + Shift + C и Ctrl + Shift + V (есть другие, но я считаю, что они помещают текст в системный буфер обмена)

Чтобы быть справедливым, Знаю много о gvim.

4
ответ дан 24 May 2018 в 17:48
  • 1
    Возможно, я смутил вас. Я сказал, используя ctrl-c OUTSIDE vim и вставку с p, но в vim я знаю, что мне нужно использовать y .. Я отредактирую свой вопрос – gc5 19 September 2013 в 19:49
  • 2
    Извините, у LOL еще не было моего кофеина. – coteyr 19 September 2013 в 19:52

Использовать в vimrc:

set mouse=a

Это позволит вам выбирать и копировать вручную с помощью мыши.

4
ответ дан 24 May 2018 в 17:48

Другие вопросы по тегам:

Похожие вопросы: