Утилита автоматического копирования и вставки для Mac и Vim

Вы можете использовать универсальный binfmt -misc модуль ядра, который определяет, какой интерпретатор используется при запуске исполняемого файла. Обычно он используется, чтобы позволить вам запускать файлы внешней архитектуры без необходимости префикса qemuили wine, но может использоваться для распознавания любой последовательности магических символов в заголовке файла или даже заданное расширение имени файла, например *.xslt. См. документацию ядра .

Например, если у вас есть файл demo.xslt, который начинается с символов

вы можете попросить модуль распознать строку по смещению 0 в файле и запустить /usr/bin/xsltprocот имени пользователя root

colon=$(printf '\\x%02x' \':) # \x3a
echo ":myxsltscript:M::/etc/binfmt.d/myxslt.conf 
cat /etc/binfmt.d/myxslt.conf >/proc/sys/fs/binfmt_misc/register

Вам не нужно проходить через файл /etc, если только вы не хотите, чтобы настройки сохранялись при перезагрузке. Если у вас нет файла /proc, вам нужно сначала смонтировать его:

mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc

Теперь, если вы chmod +x demo.xslt, вы можете запустить demo.xsltс любыми аргументами, и он будет запущен xsltprocс именем файла demo.xslt, предоставленным в качестве дополнительного первого аргумента.

Чтобы отменить настройку, используйте

.

echo -1 >/proc/sys/fs/binfmt_misc/myxsltscript

0
03.09.2018, 16:10
1 ответ

Если ваш экземпляр Vim имеет доступ к системному буферу обмена (регистру+)или выбору X (регистру *), вы можете использовать мой подключаемый модуль CaptureClipboard для второй части. С помощью :CaptureClipboardподключаемый модуль отслеживает изменения в буфере обмена и вставляет любое изменение содержимого буфера обмена в текущий буфер.

1
28.04.2021, 23:43

Теги

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