我想打印一个简单的文本文档,并确保单词边界上的文字。我试过了两个
set linebreak
和
set wrap
但是在打印时,它只会在单词中间的右栏上打破。这有可能用于打印吗?
答案 0 :(得分:6)
您正在创建一个没有任何内置换行符的文本文件,因此每个段落都是一个“行”,即使使用换行符和换行集,它们看起来像是多行。这就是打印在固定位置打破的原因。 (根据http://www.vim.org/htmldoc/various.html#printing,在打印过程中,你似乎没有vim尊重换行/换行。)
为避免这种情况,如果您想在编辑时包装文本,请执行
set textwidth=70
包装在第70列。如果您希望您的文件有长行(例如,当它加载到MS Word或其他东西时格式正常),那么您必须在打印之前预处理文本版本。因此,例如,您可以尝试:
fmt file.txt | lpr
或者如果您安装了enscript,您应该可以尝试:
enscript --word-wrap file.txt
打印。可以通过在vim中运行来包装现有文件:
gggqG
即,'gg'将开始文件,'gqG'将'gq'从当前位置(即第一行)重新格式化为最后一行(通过转到'G')。 'gq'将尊重您当前的文字宽度设置。