Подтвердить что ты не робот

Как копировать коды в vi в буфер обмена

Я знаю, как копировать в VI. но я не смог его скопировать в другое приложение. Это означает, что я не смог скопировать их в буфер обмена. Как я могу это сделать?

P.S. Чтобы опереться. Я также хочу спросить, как скопировать содержимое из буфера обмена в vi.

Отредактировано: Я использую MacOs. запуск Vim.

Кажется, что здесь не работает. Любые другие способы?

4b9b3361

Ответ 1

Вам нужно использовать регистр буфера обмена, который равен *, чтобы скопировать строку текста в буфер обмена:

"*yy

Вставить строку текста из буфера обмена:

 "*p

Ответ 2

"+y или "*y работает только в том случае, если ваш vim поддерживает xterm_clipboard. Xterm является терминальным эмулятором для X11. Попробуйте vim --version, чтобы узнать, поддерживается ли она. Если вы видите +xterm_clipboard, он должен работать, если вы видите -xterm_clipboard, это не будет. В настоящее время существует множество Linux-аксессуаров, которые по-прежнему поддерживают работу xterm_clipboard в своих репозиториях. Янки через буфер обмена тогда невозможно. Обратите внимание, что у вас все еще есть старый старый стиль unix yank/paste, а именно: выберите текст, который вы хотите вытащить, и щелкните средним щелчком мыши, где вы хотите вставить. Это должно работать всегда и является предпочтительным стилем yank/paste в vim. Убедитесь, что вы находитесь в режиме вставки и введите set paste, если он закручивает углубление. set nopaste, чтобы выйти из режима вставки.

Чтобы получить vim с xterm_clipboard, просто загрузите источник, сделайте ./configure --with-x, а затем make. Теперь vim должен поддерживать xterm_clipboard, а yanking и вставка должны работать безупречно и из буфера обмена.

Ответ 4

Копия vi выполняется в собственном внутреннем буфере обмена, так как она произошла из командной строки unix, где буфер буфера окон не существовал. Позже появился указатель мыши на командную строку, что означало, что вы могли бы копировать, используя это как стиль окна, но если вы хотите скопировать из vi в буфер обмена Windows, вам нужно использовать * yy и * p, а не yy и p, которые внутренний буфер обмена внутри vi (что также связано с тем, что yanking и вставка не влияют на ваш буфер обмена Windows)