Отправить эхо или зарегистрировать содержимое в буфер обмена pbcopy / mac на Mac OS X
У меня есть пользовательская функция в vimscript, которая создает строку и затем выводит ее на нижнюю консоль. На данный момент я копирую и вставляю этот вывод, используя cmd-c, чтобы скопировать его в буфер обмена Mac OS X. Я хотел бы сократить этот рабочий процесс, просто отправив эхо в pbcopy, я попытался:
:echo "hello" <BAR> !pbcopy
Но, конечно, это не работает. Я также попытался записать вывод в регистр и затем вывести его:
:@a!pbcopy
Но он просто пытается выполнить строку, хранящуюся в @a, которая не является командой vim. Я чувствую, что это должно быть прямо вперед, спасибо.
2 ответа
Если предположить, pbcopy
берет свой вклад от stdin
Вы могли бы попробовать использовать system()
:call system('pbcopy', 'hello')
:call system('pbcopy', @a)
Для получения дополнительной информации см.
:h system()
Какую версию Vim вы используете? В любой разумно актуальной версии (установленной через Mac Ports/Homebrew или, что лучше, MacVim) просто
let @*="text"
поставит text
в буфер обмена.
Увидеть :h clipboard
,