标签:
it |
分类: 网络相关 |
出自:善用佳软 更新:2008-02-18 参见:网页编辑器,我推荐Nvu

2. Nvu作为可视化编辑器,形成的html源代码格式比较混乱。此问题看起来很简单,但长久以来,困扰着国内国外的众多用户。Nvu/KompoZer始终未解决。追求完美的用户只能采取间接手段。
3. 当然,对大多数不关注源代码格式的用户,这算不上一个问题。
4. 对西方语系的用户,源码格式问题已基本完美解决。使用扩展HandCoder,虽然要手工点一下按钮(也可以设为保存时自动处理),但最终的效果已经很好。
主页:http://fabiwan.kenobi.free.fr/HandCoder/
HandCoder,是基于HTML Tidy的Nvu/KompoZer扩展。可以实现Nvu与Vim共同编辑html(但后者保存,在前者中只能第一次更新),且对源代码进行tidy格式化。需下载html tidy程序。
http://fabiwan.kenobi.free.fr/HandCoder/images/Tidy.png
5. 但Nvu+HandCoder,对中文网页仍有问题。
- 偶有乱码。GB2312基本可以,UTF-8乱码稍多。但注意一下,似乎也可以避免。
- Nvu散乱的换行在经HandCoder整合时,会加入空格(如同Vim的J合并一样)。对英文这是必须(单词之间要空格),但对中文是不必要、错误的。
如,
5. 但Nvu+HandCoder,对中文网页仍有问题。
- 偶有乱码。GB2312基本可以,UTF-8乱码稍多。但注意一下,似乎也可以避免。
- Nvu散乱的换行在经HandCoder整合时,会加入空格(如同Vim的J合并一样)。对英文这是必须(单词之间要空格),但对中文是不必要、错误的。
如,
Total
Commander
Commander
需要整合为“Total Commander”,要加空格。但
星星
之火,可以燎原
之火,可以燎原
不应该整合为“星星 之火,可以燎原”。
6. 本质上,Nvu的“自动格式化”(其实就是自动分行)水平很低,所以,还不如不做。也就是说,默认的72字符自动换行,应该允许用户进行设定。
7. 在软件的设置中,有一项“保存时不重新格式化”。但此设置没什么用处。
8. 再一项可能的解决是:修改editor.js中的
pref("editor.htmlWrapColumn", 72);
语句。这应该是解决办法——但,仍然无效。也就是说,这一语句可能从Mozilla中继承了下来,但程序并没有读取。
9. 最终解决办法:直接在Java控制台设定此值。
Tools→JavaScript Console→输入
top.opener.GetCurrentEditor().wrapWidth = 9999
这时,查看Nvu源代码,发现不自动折行了。但是,如果你新开一个文件或做过其他动作,有可能需要再次设定。
10. 结论:如果用Nvu/KZ编辑中文网页,建议用GB2312编码,然后top.opener.GetCurrentEditor().wrapWidth = 9999,保存,再用HandCoder格式化,效果会很好。(更新:2008-01-29)
6. 本质上,Nvu的“自动格式化”(其实就是自动分行)水平很低,所以,还不如不做。也就是说,默认的72字符自动换行,应该允许用户进行设定。
7. 在软件的设置中,有一项“保存时不重新格式化”。但此设置没什么用处。
8. 再一项可能的解决是:修改editor.js中的
pref("editor.htmlWrapColumn", 72);
语句。这应该是解决办法——但,仍然无效。也就是说,这一语句可能从Mozilla中继承了下来,但程序并没有读取。
9. 最终解决办法:直接在Java控制台设定此值。
Tools→JavaScript Console→输入
top.opener.GetCurrentEditor().wrapWidth = 9999
这时,查看Nvu源代码,发现不自动折行了。但是,如果你新开一个文件或做过其他动作,有可能需要再次设定。
10. 结论:如果用Nvu/KZ编辑中文网页,建议用GB2312编码,然后top.opener.GetCurrentEditor().wrapWidth = 9999,保存,再用HandCoder格式化,效果会很好。(更新:2008-01-29)
补充一段视频: