硬包装和软包装之间的区别?


99

我正在编写一个文本编辑器。在查看了其他文本编辑器之后,我注意到它们中的许多都涉及“软”包装与“硬”包装。有什么区别?我似乎无法通过搜索找到答案。

Answers:



19

文本编辑器通常将文本自动换成带有硬换行符的段落,但是如果您稍后再返回并稍后编辑/添加/删除单词,则将文本重新排入漂亮的段落的情况并不常见。(您可以使用Mq在emacs中手动执行此操作。)

这很烦人,因为像我这样的强迫性人会回去,不得不在适当的时候手动重新插入硬中断。

另一方面,软包装很烦人,因为大多数所有命令行工具都使用基于行的差异(对我来说,版本控制是最明显的地方)。如果您有一个1/3页的段落,该段落是软包装的并解决了拼写错误,则基本上不可能看到常规diff输出或类似输出中的更改。


2
我知道您说的是“常规”差异,但是我想指出的是突出显示是天赐之物。
SW。

1
@Will,那么像您这样的ocd人们推荐什么样的解决方案?
和平者

如果您使用Vim,并且打开了行号(:set nu),则会发现它会自动换行,但将它们分开,因此,如果单个行比屏幕宽,您仍然可以阅读所有文本,但不会破坏您按行号搜索的能力。(可见线与实际线不同)。您也可以直接通过输入跳转到行:10:3​​0,等等
daviewales

如果您使用的是Git,则可以通过软包装轻松查看更改。使用 git diff --word-diff
安东尼·埃伯特

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.