Vim 80 столбцов макет проблем

Насколько я знаю, невозможно напрямую печатать документ без вмешательства клиента, например, устанавливать флаги браузера. В нашем текущем проекте нам нужно напрямую печатать на принтере по умолчанию, но, по крайней мере, с помощью 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

407
задан Jon Seigel 4 April 2010 в 05:21
поделиться

8 ответов

Я имею, это настроило в моем .vimrc:

highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/

Это выделяет знания в нежном красном для текста, который пробегается через предел на 80 столбцов (тонкий в режиме GUI, так или иначе - в терминальном режиме, который это меньше).

572
ответ дан Simon Howard 4 April 2010 в 05:21
поделиться

Ответ Саймона Ховарда великолепен. Но /\%81v.\+/ не в состоянии выделить вкладки, которые превышают столбец 81. Поэтому я сделал небольшую настройку, основываясь на материалах, которые я нашел в VIM wiki , и на выборе цветов HS выше:

highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%>80v.\+/

И теперь VIM выделит все, что превышает столбец 80. Приветствия !

28
ответ дан Z.Zen 4 April 2010 в 05:21
поделиться

Вы также можете нарисовать линию, чтобы увидеть предел 80:

let &colorcolumn=join(range(81,999),",")
let &colorcolumn="80,".join(range(400,999),",")

Результат:

enter image description here

12
ответ дан 0x8BADF00D 4 April 2010 в 05:21
поделиться

Более новые версии vim допускают значение :set numberwidth=x, которое устанавливает ширину отображения номера строки. Я на самом деле не использую складывание и т. Д., Поэтому я бы не знал об этом. Хотя рисование тонкой вертикальной линии выходит за рамки консольного приложения. GVim может разрешить это (я им не пользуюсь, поэтому не могу комментировать).

6
ответ дан Matthew Scharley 4 April 2010 в 05:21
поделиться

Вы можете попробовать это:

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, и одну для символов за пределами этот столбец. Таким образом, у вас есть некоторая степень ожидания. Конечно, вы можете настроить его, чтобы использовать другую ширину, если вы хотите более или менее предвосхищать (которое вы платите в виде потери подсветки синтаксиса в этих столбцах).

5
ответ дан Aristotle Pagaltzis 4 April 2010 в 05:21
поделиться

это вне левого поля, но это хорошая маленькая карта для изменения размера вашего текущего разбиения до 80 символов, если у вас есть номера строк:

" make window 80 + some for numbers wide  
noremap <Leader>w :let @w=float2nr(log10(line("$")))+82\|:vertical resize <c-r>w<cr> 
2
ответ дан ErichBSchulz 4 April 2010 в 05:21
поделиться

Я боюсь, что Вы поместили ограничения на съемочной площадке решений, которые, ну, в общем, оставляют Вас с пустым множеством.

Используя :set textwidth=80 решит все проблемы, которые Вы упомянули кроме , что Вы не можете легко видеть, что предел строки подходит. Вы :set ruler, при включении x, y дисплей положения в строке состояния, которую можно использовать для наблюдения, в каком столбце Вы находитесь.

Кроме этого, я не уверен, что сказать Вам. Это - позор для потери столбца числа, столбца сгиба и разделений просто, потому что Вы имеете к :set columns=80.

5
ответ дан Lucas Oman 4 April 2010 в 05:21
поделиться

Более короткий путь:

match ErrorMsg '\%>80v.\+'
53
ответ дан 22 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

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