Насколько я знаю, невозможно напрямую печатать документ без вмешательства клиента, например, устанавливать флаги браузера. В нашем текущем проекте нам нужно напрямую печатать на принтере по умолчанию, но, по крайней мере, с помощью Chrome вы можете сделать это легко с дополнительными аргументами для запуска.
Чтобы печатать непосредственно на принтере по умолчанию ОС, вы можете использовать:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\tmp --kiosk-printing http://www.contoso.com
Другим вариантом, который также может быть полезным, является использование встроенного диалогового окна печати вместо предварительного просмотра хромосов.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\tmp --disable-print-preview http://www.contoso.com
Обратите внимание, что window.print()
и / или Ctrl-P ведут соответственно указанные настройки.
Я знаю, что это точно не отвечает на вопрос OPs, но я думаю, что это несколько связано, и для веб-приложений для предприятий это довольно распространенный случай использования. Возможно, кому-то это будет полезно.
Для Firefox я рекомендую Бесшовные печати Addon
Я имею, это настроило в моем .vimrc:
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/
Это выделяет знания в нежном красном для текста, который пробегается через предел на 80 столбцов (тонкий в режиме GUI, так или иначе - в терминальном режиме, который это меньше).
Ответ Саймона Ховарда великолепен. Но /\%81v.\+/
не в состоянии выделить вкладки, которые превышают столбец 81. Поэтому я сделал небольшую настройку, основываясь на материалах, которые я нашел в VIM wiki , и на выборе цветов HS выше:
highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%>80v.\+/
И теперь VIM выделит все, что превышает столбец 80. Приветствия !
Вы также можете нарисовать линию, чтобы увидеть предел 80:
let &colorcolumn=join(range(81,999),",")
let &colorcolumn="80,".join(range(400,999),",")
Результат:
Более новые версии vim допускают значение :set numberwidth=x
, которое устанавливает ширину отображения номера строки. Я на самом деле не использую складывание и т. Д., Поэтому я бы не знал об этом. Хотя рисование тонкой вертикальной линии выходит за рамки консольного приложения. GVim может разрешить это (я им не пользуюсь, поэтому не могу комментировать).
Вы можете попробовать это:
au BufWinEnter * if &textwidth > 8
\ | let w:m1=matchadd('MatchParen', printf('\%%<%dv.\%%>%dv', &textwidth+1, &textwidth-8), -1)
\ | let w:m2=matchadd('ErrorMsg', printf('\%%>%dv.\+', &textwidth), -1)
\ | endif
Это установит две подсветки в каждом буфере, одну для символов в 8 столбцах до того, что установлено в &textwidth
, и одну для символов за пределами этот столбец. Таким образом, у вас есть некоторая степень ожидания. Конечно, вы можете настроить его, чтобы использовать другую ширину, если вы хотите более или менее предвосхищать (которое вы платите в виде потери подсветки синтаксиса в этих столбцах).
это вне левого поля, но это хорошая маленькая карта для изменения размера вашего текущего разбиения до 80 символов, если у вас есть номера строк:
" make window 80 + some for numbers wide
noremap <Leader>w :let @w=float2nr(log10(line("$")))+82\|:vertical resize <c-r>w<cr>
Я боюсь, что Вы поместили ограничения на съемочной площадке решений, которые, ну, в общем, оставляют Вас с пустым множеством.
Используя :set textwidth=80
решит все проблемы, которые Вы упомянули кроме , что Вы не можете легко видеть, что предел строки подходит. Вы :set ruler
, при включении x, y дисплей положения в строке состояния, которую можно использовать для наблюдения, в каком столбце Вы находитесь.
Кроме этого, я не уверен, что сказать Вам. Это - позор для потери столбца числа, столбца сгиба и разделений просто, потому что Вы имеете к :set columns=80
.