Расширение ответа Шона Дж. Гоффа:
Вы можете использовать следующую однострочную -команду vim для создания файла.ps из vim:
:hardcopy > %.ps
Если вы предпочитаете файл.pdf, вы можете:
:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps
Примечание:
%
— это сокращение для текущего имени файла, поэтому HelloWorld.C
будет напечатано как HelloWorld.C.ps
или HelloWorld.C.pdf
Кроме того, чтобы изменить отображаемый шрифт, установите шрифт принтера перед выполнением команды распечатки. Например, чтобы выбрать Курьер 8:
:set printerfont=Courier:h8
Собрав все вместе, я решил поместить в свой файл.vimrc следующее, чтобы я мог просто выполнить команду :HardcopyPs
или :HardcopyPdf
(, которая также может работать с выбранным диапазоном в файле ):
set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPs <line1>,<line2> hardcopy > %.ps && echo 'Created: %.ps'
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'
Файлы, «узлы устройств», в /dev
являются просто «указателями» или «ссылками» (для злоупотребления словами )на некоторые драйверы устройств ядра. Подобно тому, как символическая ссылка имеет имя и содержит другое имя, которое вы получаете при открытии ссылки, узел устройства имеет имя(*)и содержит идентификатор устройства в виде старшего и младшего номеров.
Таким образом, когда мы говорим что-то вроде /dev/sda
представляет первый жесткий диск, мы на самом деле имеем в виду, что это общее имя для узла устройства, который имеет старший -младший номер (8, 0 ), который случается, что это фиксированный номер, используемый драйвером жесткого диска для первого жесткого диска.
Хотя мы могли бы создать другой узел, который также указывает на (8, 0 ), создание узла только для некоторого случайного номера устройства не работает. Если номер не используется, нет драйвера для обработки запроса на доступ; и, что еще хуже, если он используется чем-то совершенно не связанным, результаты могут быть интересными или откровенно проблематичными.
Учитывая, что документация ядра упоминает диапазон от 384 до 511 только как динамически выделяемый для символьных устройств, маловероятно, что вы найдете там драйвер блочного устройства.
Если вы хотите создать RAID-массив, вместо этого вам придется указать ему использовать какое-либо существующее устройство. Либо диск, раздел или подобное (, см. LVM ), либо кольцевое устройство, резервная копия которого в конечном итоге создается файлом. См.:
loop(4)
иlosetup(8)
справочные страницы