编辑摊牌:在句子末尾保持换行符

时间:2009-02-12 21:28:13

标签: html latex editor collaboration

在编辑非WYSIWYG(LaTeX,HTML等)散文时,您可能希望在句子的末尾添加换行符。 这有几个好处:

  1. 更容易重新排列句子。
  2. 更容易评论出句子。
  3. 更容易发现连续/过长的句子。
  4. 更容易在句子上发表评论。
  5. 例如:

    % The following isn't strictly true; maybe excise or comment out for now:
    After all, people who use Word or other WYSIWYG editors are aiding and 
    abetting terrorists.
    

    可能最重要的优势在于它使得在版本控制下的协作编辑变得更加容易。 否则你最终会遇到冲突,只是告诉你“这个巨大段落的以下两个版本存在冲突”。

    但是,在句子末尾保持换行说起来容易做起来......

    As you edit the prose
    it will get all chopped up, like this.
    Normally you'd do a "reformat paragraph"
    to clean it up, but then
    you lose the newlines at the ends of your sentences!
    

    以下问题询问如何在emacs中解决此问题:

    How do I get Emacs to fill sentences, but not paragraphs?

    我想知道人们如何在其他编辑器中处理这个问题,包括vim,TeXShop,TextMate以及你认为在这里收集有用的任何其他编辑器。 关于软包装和硬包装的建议也很受欢迎。

8 个答案:

答案 0 :(得分:3)

我认为最简单的解决方案是只在完全停止后添加换行符。然后,您的编辑将永远不会分割行。

请注意,对于散文而言,你可以很好地依赖你的编辑器的换行功能来​​包装长句 - 除非你坚持使用代码缩进它(我不会在乳胶中缩进那么多),

答案 1 :(得分:1)

<强>的Vim:

您可以关闭文本换行(set formatoption-=t),除非您按Enter键,否则不会添加换行符。更好的是,如果您可以弄清楚如何设置'comments'选项以便识别您的注释,则可以仅为注释设置自动换行宽度,而不是为其他任何内容设置自动换行宽度:

set comments=b:%
set textwidth=80
set formatoption+=c
set formatoption-=t

这是我使用的方法,所以我的评论很整洁,但我的代码不会被破坏,除非我自己做。

答案 2 :(得分:1)

普通文本编辑器不应尝试更改您编写的文件,除非您明确要求它。它可能会改变文件在屏幕上的外观以便于阅读,但就是这样。

因此,根据我的经验,大多数体面的编辑都会进行软包装,并在插入任何地方时保留换行符。

这就是全部。我必须承认我看不出大惊小怪的事情,除非你使用一些非常奇怪的文本编辑器坚持做硬包装并需要解决方法。

如果你想保持格式对diff有用,只需在每个句子后面换行,并接受diff将在句子级别上起作用。

答案 3 :(得分:1)

在vim中,您可以使用gw)填充当前句子的末尾。 它不会为您重新格式化整个段落或区域,但如果您 小心在每个句子后插入换行符,然后重新格式化 在你写的时候gw),它的效果非常好。

答案 4 :(得分:1)

无论您做什么,如果您处于协作环境中,请不要使用自动硬包装整个文档的编辑器。朋友不要让朋友使用WinEdt。

答案 5 :(得分:0)

这似乎是解决差异限制的一种相当人为的方式。为什么不创建一个句子敏感的差异而不是搞砸你的源?

答案 6 :(得分:0)

  

我想知道人们如何处理   这在其他编辑中,

在Windows平台上的FWIW,Zeus编辑器具有可配置的右边距和内置的换行功能。

例如,将右边距设置为 60 字符,标记示例文本,然后使用宏,Linewrap段落菜单,{{3}将按如下方式重新格式化文本:

As you edit the proseit will get all chopped up, 
like this. Normally you'd do a "reformat 
paragraph"to clean it up, but thenyou lose the 
newlines at the ends of your sentences!

包装是 hard ,因为上面的所有行都插入了行尾字符。

答案 7 :(得分:0)

你不想在句子末尾换行。

确定你列出的4件事情更容易,但这不值得做到与世界其他地方的做法不同(即使世界的理由与CR LF =新线背后的推理一样愚蠢)。

并且你最大的优势是不正确的:

  

否则你最终会遇到冲突   它只是通知你“   以下两个版本的巨大   段落冲突“。

     
    

如何知道何时以行为基础以及何时以句子为基础?

  

你可以使用Meld或类似的差异工具让它完成工作。