LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2441|回复: 10

windows下gvim的自动换行怎么做?

[复制链接]
发表于 2005-1-30 21:02:57 | 显示全部楼层 |阅读模式
求教:

我用的gvim for windows是vim官方网站下载的6.3 32位支持OLE版本。
_vimrc里面设置了set tw=78,但只有英文才能够自动折行,中文就是不行,怎么回事?该怎么设置?


谢谢!
 楼主| 发表于 2005-1-31 13:57:00 | 显示全部楼层

up

虽然不是debian甚至不是linux的话题,但……好歹也是开源软件问题,希望在这里能够得到答案
另:是否能够在配置文件中修改,使之只运行一个gvim实例,比如我设置了文件关联后,双击某.c文件,打开一个gvim,双击另一个时,不新开窗口,而是用当前的窗口新建一个buffer?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-31 14:38:16 | 显示全部楼层

bug?

咨询以前的同事,某vim达人,得知第二个问题可以用:

gvim  --remote-wait-silent filename.txt

解决。第一个问题或许是个中文处理的bug?
回复 支持 反对

使用道具 举报

发表于 2005-1-31 14:54:10 | 显示全部楼层
:set wrap
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-31 17:51:54 | 显示全部楼层
谢谢这位朋友,可能是我没有表达清楚,这里的自动换行不是warp和nowrap那个选项。
实际上是希望插入硬回车。

而设置了tw=xx后,编辑英文文档是可以到指定列就换行(硬回车)的,但中文就是不行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-31 17:53:50 | 显示全部楼层
其实我希望做的事情很简单,就是当我编辑完一份文档后,希望做成html文件,可以放到我的网站上。
但由于vim只是加上<pre></pre>标签,如果没有硬回车,一段就是一行了……

有没有好的处理方法?vi熟一点的兄弟应该会有解决办法的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-1 11:01:09 | 显示全部楼层
up……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-1 22:38:10 | 显示全部楼层
https://www.xfocus.net/bbs/index.php?act=ST&f=2&t=45731

by watercloud

后来看了看,tw和单词相关,
一个单词是不能被tw给断行的。
中文一长串连在一起vim认为是一个单词
所以就~~~了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-2 13:32:10 | 显示全部楼层
http://blog.xfocus.net/index.php ... Id=720&blogId=1

跟watercloud大牛和yiminggong讨论半天,至少现在在windows下是ok了。

C:>cat a
abcdefghijklmnopqrstuvwxy

用sed的方法

C:>sed s/^.\{6\}/"&"\n/g a
abcdef
ghijkl
mnopqr
stuvwx
y

直接在vi里处理则是用:

:%s/...../&\r/g

我在_vimrc里面加了一句:

noremap <silent> <F8> :%s/.\{78\}/&\r/g<CR>

以后按F8就可以直接处理了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-2 21:29:14 | 显示全部楼层
但这样又有一个新问题,vi对中英文混排处理上,由于我的encoding用了cp936,于是处理起来,如果一排英文一排中文,会是这样的:

aaaa
我我我我

如果一行里有中文也有英文,那列长又不对齐了。是否有朋友能够指点一下?或者用vi做这样的事情本身就是“不经济”的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表