Як я можу скопіювати в буфер обміну Mac з vim?


6

Я можу вставити з vim в одне вікно терміналу vim в іншому, але не до чогось зовнішнього vim. Я прочитав численні публікації на цю тему, і нічого я знайшов допомогла. Копіювати / вставляти з MacVim працює, але я вважаю за краще використовувати VIM.

Я використовую OSX 10.7.5 і Vim 7.4, встановлений через MacPorts.

vim --version 

показує + буфер обміну, + x11, + xterm_clipboard.

Я спробував "+ y", * у поєднанні з візуальним вибором і вибором діапазону.

В моєму ~/.vimrc , Я отримав

set clipboard=unnamedplus,unnamed,autoselect

EDIT:

Знайдено рішення! Тепер, y, yy і так далі працюють відмінно! Що б я не витягував у Вімі, я можу вставити зовні, і що б я не командував ззовні, я можу в Vim.

Рішення: Згідно з пропозицією FDinof, я перевстановлював через MacPorts БЕЗ x11, замість цього просто робив

sudo -v встановити порт vim + величезний

Для запису, я досі

встановити буфер обміну = unnamedplus, unnamed, autoselect

у моєму ~ / .vimrc

Дякую за твою допомогу!


2
x11 не потрібний для цього, оскільки mac не використовує x11. Проте все інше виглядає чудово.
FDinoff

Мені цікаво, чому я бачив пропозиції, які ви повинні компілювати / встановити з x11, то. З того, що я можу Google, Apple впала підтримка для x11, але, можливо, підтримка Vim буфера обміну все ще вимагає x11, щоб працювати належним чином з якоїсь причини? Я повинен сказати, що це дратує x11 додаток з'являтися в доці, коли я використовую Vim, так що якщо я можу отримати те, що я хочу, без x11, я б, безумовно, віддаю перевагу.
Reefersleep

1
Перекомпілюйте vim без x11. У мене його немає, і я можу скопіювати в буфер обміну. Я думаю, що ви копіюєте в буфер обміну x11, який ви не знаєте, як отримати доступ з боку Mac.
FDinoff

Єдині варіанти, які я використовую +huge і +python27 коли я встановив vim через macports
FDinoff

FDinoff, ви праві - перекомпілювалися без x11, тепер у, гг і так далі працює відмінно! Не знаю, чому це не працювало раніше. Можливо, я не був досить систематичним у своєму тестуванні.
Reefersleep

Відповіді:


1

x11 не потрібний для копіювання в буфер обміну, оскільки mac не використовує x11. Перекомпілюйте vim без x11. Я думаю, що ви копіюєте в буфер обміну x11, який ви не знаєте, як отримати доступ з боку Mac.

У macports використання величезного варіанту достатньо, щоб отримати підтримку буфера обміну.

port install vim +huge

4

З пам'яті в Vim можна використовувати pbcopy і pbpaste так само, як і будь-яка інша зовнішня команда. Щоб скопіювати поточний рядок у тип буфера обміну:

:.!pbcopy

копіювати рядки 1 - 50

:1,50!pbcopy

Щоб скопіювати вміст буфера обміну даними в поточне використання vim bufer:

:r !pbpaste

1
Подальше читання blog.ijun.org/2011/03/…
Antony

Можливо, я запитав моє питання неправильно - я також прийшов до рішення pbcopy / pbpaste, але те, що я дійсно хотів би для y, yy і так далі, щоб копіювати в буфер обміну, так що я можу вставити в речі за межами Vim - і для вставки p з буфера обміну. Прив'язка pbcopy і pbpaste до ctrl c / v, як ви вже запропонували у вашому блозі, є робочим рішенням, але не цілком задовольняє - я використовую Vim, щоб мати ярлики, такі як p і y на кінчиках пальців, і для використання ctrl c / v в деяких ситуаціях здається зайвим і заплутаним. Я новачок у розміщенні на стеку - я повинен перефразувати своє початкове запитання?
Reefersleep


1
Використовуйте: reg, щоб перевірити, що у вашому регістрі після використання y yy + Y і т.д. Може дати ключ до того, що не так
Antony

0

Для чого варто, у мене було багато проблем з налаштуванням vim, щоб використовувати буфер обміну, і не зміг змусити його працювати, доки не перевстановлювати його через homebrew без опції клієнт-сервер.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.