какая правильная команда использует vim copy в буфер обмена, поскольку установлена ​​версия, поддерживаемая буфером обмена?

380
roachsinai

Я использую Manjaroи открываю буфер обмена:

➜ ~ vim --version | grep "clipboard" +clipboard +jumplist +persistent_undo +vertsplit +emacs_tags +mouse_dec -sun_workshop +xterm_clipboard 

Первый вопрос: use "+yне может скопировать текущую строку в буфер обмена и "+yyможет скопировать текущую строку в буфер обмена. Я не знаю почему.

И если я установлю vnoremap <leader>y "+y, использование commmand <leader>yyв vim не может работать (я ожидаю, что <leader>yyдействие так же, как "+yy).

Более того, есть ли способ установить отображение, чтобы <leader>ynyдействие было таким же, как "+yny?

Спасибо за любую помощь.

-2
Наконец, нашел `noremap y "+ y` работает, а не` vnoremap`. roachsinai 5 лет назад 0

1 ответ на вопрос

-1
Martian

Я думаю, вы серьезно не понимаете, как работают vi и vim. См :help y, :help operatorи :help movement. ИМХО большая часть привлекательности vim заключается в логике комбинаций операторов и движений.

Первый y- оператор ( y ank), второй - движение - и в vim большинство, если не все, операторы при повторной работе со всей строкой ( dd- удалить строку, cc- изменить строку.)

Я совсем не уверен, что вы ожидаете "+yny, но он копирует ( y) в буфер обмена ( "+) из текущего местоположения до следующего вхождения поискового запроса ( n), а затем запускает другую функцию copy ( y) и ожидает движения .