【问题标题】:How do you enable word wrap in vim when printing打印时如何在vim中启用自动换行
【发布时间】:2010-10-06 17:04:31
【问题描述】:

我想打印一个简单的文本文档并确保单词在单词边界上换行。我都试过了

set linebreak

set wrap

但在打印时,它只是在单词中间的右列中断。这可以打印吗?

【问题讨论】:

  • enscript 效果很好,请注意 enscript 在 1.6 中添加了自动换行支持。

标签: vim printing word-wrap


【解决方案1】:

您正在创建一个没有任何内置换行符的文本文件,因此每个段落都是一个“行”,即使设置了换行符和换行,看起来它们也是多行)。这就是打印在固定位置中断的原因。 (根据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' 将尊重您当前的 textwidth 设置。

【讨论】:

  • 因此,可以通过fmt -w 80 file.txt 对文件进行预处理以适应 80 个字符的宽度。
猜你喜欢
  • 1970-01-01
  • 2011-08-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 2023-03-06
  • 2012-02-26
  • 2023-03-23
  • 2020-01-28
相关资源
最近更新 更多